我正在构建神经网络,应该在修改的CIFAR-10上进行测试。我已经使用keras.datasets.cifar10.load_data()
来检索数据集,然后使用pickle.load(datafile, encoding='bytes')
在字典中对其进行了解析。经过一些修改后,我使用pickle.dump()
以类似keras的格式编写了图像。
我注意到pickle.dump()
之后的结果文件比源文件大了 53个字节。即使我不做任何修改并在dump()
之后立即使用load()
,结果文件也有53个字节。看起来没有违反生成文件的结构,因为我能够从中恢复图像,标签,文件名并且它们是正确的。但是,如果我正在学习和测试神经网络(甚至是example中最简单的NN!),我的得分也会很差(〜0.5)。
P.S。看起来dump()
会向文件中写入一些标头,并且如果标头已经存在,则不会将其写入(我尝试两次应用转储,但是大小仅在第一次应用时才更改)。但是如何避免编写此标头?
答案 0 :(得分:0)
请帮助我弄清楚加载倾销对NN的影响 总体结构不变,结果如何?
如果结构不变,则对网络没有影响。您可以使用易于阅读的输出进行简单转储,然后比较文件。首先了解协议here。
如何加载和转储以保留文件的结构和大小 没有变化?如何避免甩负荷的不一致 操作吗?
没有真正的矛盾,可能只是使用其他协议或附加标头。您不应该处理这些内部问题。如果要使模型易于阅读或受版本控制,则可以使用json或其他人类readbale协议。 (例如simplejson)