Python 前置条件失败:读取资源变量block8\u sepconv3\u bn/gamma时出错
我发现很少有关于这个错误的文档 :失败的前提条件:读取资源变量时出错 来自容器的block8_sepconv3_bn/gamma:localhost。这可能意味着 变量未初始化。未找到:资源 localhost/block8_speconv3_bn/gamma/class tensorflow::Var不支持 存在 我猜问题一定是在model.predict之前的train函数中,它与会话和线程有关,但我很乐意得到任何帮助 我使用:Python 前置条件失败:读取资源变量block8\u sepconv3\u bn/gamma时出错,python,tensorflow,keras,Python,Tensorflow,Keras,我发现很少有关于这个错误的文档 :失败的前提条件:读取资源变量时出错 来自容器的block8_sepconv3_bn/gamma:localhost。这可能意味着 变量未初始化。未找到:资源 localhost/block8_speconv3_bn/gamma/class tensorflow::Var不支持 存在 我猜问题一定是在model.predict之前的train函数中,它与会话和线程有关,但我很乐意得到任何帮助 我使用: Python 3.7.8 Cuda 10.1 CUDNN v
- Python 3.7.8
- Cuda 10.1
- CUDNN v7.6.5
- Tensorflow 2.3.0
- keras 2.4.3
gpu选项=tf.compat.v1.gpu选项(每进程gpu内存分数=内存分数)#TENSORFLOW不使用我所有的gpu PLZ
sess=set_会话(tf.compat.v1.session(config=tf.compat.v1.ConfigProto(gpu_选项=gpu_选项)))
我知道我也应该在这里全局声明图形,而不是在DQNAgent的init函数中声明它,因此也应该放:
graph=tf.compat.v1.get\u default\u graph()
然后,如果我对问题的理解是正确的,那么我应该在每次调用DQNAgent类的train函数中的.predict方法时设置会话
我想我应该使用以下语法:
全局sess
全局图
使用self.graph.as_default():
设置会话(sess)
当前_qs_列表=self.model.predict(当前_状态、预测_批量大小)
new_current_states=np.array([transition[3]表示小批量中的transition])/255
全局sess
全局图
使用self.graph.as_default():
设置会话(sess)
future\u qs\u list=self.target\u model.predict(新的\u当前\u状态,预测\u批量大小)
但我不确定是否应将其添加到此处,因为不涉及任何图表:
def get_qs(自身,状态):
return self.model.predict(np.array(state).reformate(-1,*state.shape)/255)[0]
这有意义吗?有谁愿意看一看并给我一些见解吗?我想问题在于会议。我仍然必须将我的图形保留在init中,因为它随后在train函数中被调用。。