我是靠谱客的博主 犹豫白开水,这篇文章主要介绍Tensorflow版本升级出现的sess.run运行错误,现在分享给大家,希望可以做个参考。

网络分享的版本升级之后代码如何修改的资源并不多,对于一个小白短期内想要在不降版本情况下,修改代码块还是比较困难的。经过一番摸爬滚打,终于调通了,废话不多说,开始描述:
出错的代码块

_, 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版本升级出现内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部