【发布时间】:2021-07-28 13:30:00
【问题描述】:
我使用 tensorflow 构建了神经网络。
在训练它并获得最低成本后,我需要将权重和偏差保存为矩阵,以便在例如 Matlab 中使用。我该怎么做?
当我在完成训练后执行以下代码以保存权重时:
from scipy.io import savemat
savemat("end_Weight1.mat", weights )
我可以保存它,但是我得到一个空矩阵,这意味着矩阵只包含四个变量,但没有任何值。我在矩阵中没有得到任何值。
我认为在保存权重或类似的东西之前需要更新权重?
【问题讨论】:
-
@Corralien 我明白了,但我得到了空矩阵!
-
什么时候保存?训练后保存吗?
-
您在
with tf.Session() as sess:中使用它 - 您是否尝试在会话后保存?我们无法运行它,所以我也可以建议使用print()在不同时刻检查变量中的值 - 即。会议内外。 -
如果你有类分配给变量 - 即。
w = tf.Variable()并将其分配给其他变量(或发送到函数)t = w并更改t中的值,然后您会在w中看到此更改。当您分配t = w时,Python 不会复制类 - 因此两个变量都指向内存中的同一个对象。
标签: python tensorflow neural-network autoencoder