今天遇到了很多弱智问题, 都是新手才会犯的错误, 可能不够全面, 因为我在遇到了问题的时候只是考虑如何解决它, 而没有仔细思考问题是如何发生的.
问题一
首先, 我训练了一个神经网络的模型, 得到了权值W和偏移值b. 一开始我想直接在模型训练的过程中得到向量的低维表示(多么弱智的想法), 后来发现tensorflow是并行计算的, 而且每次的训练集好像是随机的, 因此, 我本来输入的数据只有13M, 可是导出的数组竟然有3G+, 这当然不对, 但是为什么呢? 我考虑了很久…后来才想明白哪能边训练边保存啊…(虽然还不知道为啥)
我后来终于开窍了, 不能直接在训练的时候得到网络表示, 那么我在训练结束W和b都定下来了, 直接用W和b再算一下输出的低维表示就行了呀. 于是我就开始了漫长的计算, 导入, 导入有错, 查资料的过程…
问题二
我在查的时候, 找到了好像好几种导入模型的方法, 每一种都试了一下, 但是不是每一种都能理解.
有一种是这个:
dir = "/home/dbliu/Deep_Matrix_Factorization_Models/checkPoint"
with tf.Session() as sess