网络分享的版本升级之后代码如何修改的资源并不多,对于一个小白短期内想要在不降版本情况下,修改代码块还是比较困难的。经过一番摸爬滚打,终于调通了,废话不多说,开始描述:
出错的代码块
_, summary = self.sess.run([train_op, merged_summary_op], feed_dict={self.X: batch_xs,
self.Y_gt: batch_ys_onehot,
self.lr: learning_rate,
self.phase: 1,
self.drop: dropout_conv})
报错如下:
Traceback (most recent call last):
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 958, in run
run_metadata_ptr)
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1166, in _run
self._graph, fetches, feed_dict_tensor, feed_handles=feed_handles)
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 477, in __init__
self._fetch_mapper = _FetchMapper.for_fetch(fetches)
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 266, in for_fetch
return _ListFetchMapper(fetch)
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 378, in __init__
self._mappers = [_FetchMapper.for_fetch(fetch) for fetch in fetches]
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 378, in <listcomp>
self._mappers = [_FetchMapper.for_fetch(fetch) for fetch in fetches]
File "/home/user/anaconda3/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 263, in for_fetch
(fetch, type(fetch)))
TypeError: Fetch argument None has invalid type <class 'NoneType'>
导致错误的原因:
merged_summary_op输出的类型为None
merged_summary_op是什么呢?
import tensorflow as tf
tf.summary.scalar("loss", self.cost)
tf.summary.scalar("accuracy", self.accuracy)
train_op = tf.compat.v1.train.AdamOptimizer(self.lr).minimize(self.cost)
merged_summary_op = tf.compat.v1.summary.merge_all()
init = tf.compat.v1.global_variables_initializer()
summary_writer = tf.compat.v1.summary.FileWriter(logs_path, graph=tf.compat.v1.get_default_graph())
修改如下:
tf.summary.scalar("loss", self.cost)
tf.summary.scalar("accuracy", self.accuracy)
train_op = tf.compat.v1.train.AdamOptimizer(self.lr).minimize(self.cost)
###这里###
merged_summary_op=tf.compat.v1.summary.merge([tf.compat.v1.get_collection(tf.compat.v1.GraphKeys.SUMMARIES, 'loss'), tf.compat.v1.get_collection(tf.compat.v1.GraphKeys.SUMMARIES, 'accuracy')]) ****
init = tf.compat.v1.global_variables_initializer()
summary_writer = tf.compat.v1.summary.FileWriter(logs_path, graph=tf.compat.v1.get_default_graph())
使用多种方法都没有用,换用summary.merge成功,希望可以帮到您,成功记得点赞哦!!!
最后
以上就是犹豫白开水最近收集整理的关于Tensorflow版本升级出现的sess.run运行错误的全部内容,更多相关Tensorflow版本升级出现内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复