对于我的项目,我有大量的数据,大约60GB传播到npy文件,每个文件大约1GB,每个包含大约750k记录和标签.
每条记录是345 float32,标签是5 float32.
我也阅读了tensorflow数据集文档和队列/线程文档,但我无法弄清楚如何最好地处理训练输入,然后如何保存模型和权重以供将来预测.
我的模型很简单,它看起来像这样:
x = tf.placeholder(tf.float32, [None, 345], name='x')
y = tf.placeholder(tf.float32, [None, 5], name='y')
wi, bi = weight_and_bias(345, 2048)
hidden_fc = tf.nn.sigmoid(tf.matmul(x, wi) + bi)
wo, bo = weight_and_bias(2048, 5)
out_fc = tf.nn.sigmoid(tf.matmul(hidden_fc, wo) + bo)
loss = tf.reduce_mean(tf.squared_difference(y, out_fc))
train_op = tf.train.AdamOptimizer().minimize(loss)
Run Code Online (Sandbox Code Playgroud)
我训练神经网络的方式是以随机顺序一次读取一个文件,然后使用混乱的numpy数组索引每个文件并手动创建每个批次以提供train_op使用feed_dict.从我读到的一切来看,这是非常低效的,我应该以某种方式用数据集或队列和线程替换它,但正如我所说,文档没有帮助.
那么,在tensorflow中处理大量数据的最佳方法是什么?
另外,作为参考,我的数据在2个操作步骤中保存为numpy文件:
with open('datafile1.npy', 'wb') as fp:
np.save(data, fp)
np.save(labels, fp)
Run Code Online (Sandbox Code Playgroud) 我正在使用PyQt4编写桌面应用程序,突然间它在退出时开始崩溃.
我查看了我的所有代码,以确保我没有做任何有趣的事情让它崩溃,我不认为代码有任何问题.
我之前看到过一些关于此问题的抱怨,但它与以前的版本有关,人们建议将PyQt4升级到最新版本,所以我做了,但这对崩溃问题没有帮助.
所以我问,有没有什么可以导致PyQt4的这种行为,我是否需要在终止程序上做一些清理Qt或我遗漏的任何其他事情?