Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Tensorflow会话中将可训练变量重置为随机/默认值_Python_Tensorflow_Machine Learning_Neural Network - Fatal编程技术网

Python 在Tensorflow会话中将可训练变量重置为随机/默认值

Python 在Tensorflow会话中将可训练变量重置为随机/默认值,python,tensorflow,machine-learning,neural-network,Python,Tensorflow,Machine Learning,Neural Network,我正在研究一种文本分类的实验方法,为此我需要使用纯Tensorflow(无Keras)。当我在执行Leave One Out CV时,我需要在一个会话中重置(或重新初始化,如您所愿)我的所有可训练变量-在模型学习了几个时期并预测了我的测试观察后,它将转到另一个测试观察,但是,它应该完全从头开始训练(没有从当前的测试观察中获得的知识,之前也用于学习) 我在网上做了一些全面的研究,但我没有发现任何有用的东西。有什么方法可以做到这一点,或者你对如何修改我的算法有什么建议吗 提前感谢。您可以有两个模型副

我正在研究一种文本分类的实验方法,为此我需要使用纯Tensorflow(无Keras)。当我在执行Leave One Out CV时,我需要在一个会话中重置(或重新初始化,如您所愿)我的所有可训练变量-在模型学习了几个时期并预测了我的测试观察后,它将转到另一个测试观察,但是,它应该完全从头开始训练(没有从当前的测试观察中获得的知识,之前也用于学习)

我在网上做了一些全面的研究,但我没有发现任何有用的东西。有什么方法可以做到这一点,或者你对如何修改我的算法有什么建议吗


提前感谢。

您可以有两个模型副本:一个包含初始权重,另一个是针对不同数据样本从头开始训练的副本

然后,当您需要重置时,只需将初始权重复制到您训练的模型,如下所示:

trainable_model.set_weights(initial_model.get_weights())

更多内容

感谢您的建议,但是如果我不能像上面那样引用整个模型,我该怎么做。我只有一组层,我可以通过tf.trainable_variables()查看所有可训练变量,但不知道如何在开始时复制它们的状态。对不起,我只是tensorflow的新手。另一个想法-我可以简单地使用tf.reset\u default\u graph()吗在每次迭代结束时?或者关闭会话,然后重置图表?是否有效?如果您在问题中共享您的代码,会更容易提供帮助。很抱歉,我回复得这么晚。我没有完全理解您的建议,重置图表不起作用,因此我最终的做法是,对于每个学习迭代(一个遗漏的观察),我正在调用tf.global_variables_initializer(),这似乎是可行的。你看到它有什么缺点吗?