我在使用Google Colab训练一个GAN,使用从Wikiart上抓取并转换为1024×1024分辨率的照片数据集,但在创建tfrecords时不断遇到这个错误:
Traceback (most recent call last): File "dataset_tool.py", line 1249, in <module> execute_cmdline(sys.argv) File "dataset_tool.py", line 1244, in execute_cmdline func(**vars(args)) File "dataset_tool.py", line 714, in create_from_images img = img.transpose([2, 0, 1]) # HWC => CHWValueError: axes don't match array
我设置了程序打印出会导致停滞的文件,并开始从数据集中移除这些文件;但导致停滞的文件似乎完全是随机的。程序可能会在一个运行中完美地处理某个文件,但在移除数据集中的其他问题照片后,下一次运行中却会在这个文件上失败。
我不知道不断移除导致停滞的照片是否会有尽头/能否留下一个有意义的数据集,有没有什么方法可以修复这个问题?
回答:
我找到了解决方案,原来我抓取的一些图像是灰度的。为了解决这个问题,我使用了imagemagick(也用于将照片调整到1024×1024分辨率)来检查颜色空间。我将终端指向图像文件夹并运行了以下命令:
magick identify *.jpg
然后,我使用Ctrl+F查找哪些图像被标记为“Gray”而不是“sRGB”。将这些图像从数据集中移除后,问题就解决了,一切运作正常。