Professor. Zhong 2022-09-20 20:59 采纳率: 0%
浏览 88

TypeError: Argument `fetch` = None

使用tensorflow完成线性回归报错
import tensorflow as tf

tf.compat.v1.disable_eager_execution()


def linear_regression_demo():
    # 1)准备真实值,随机生成1001列
    X = tf.compat.v1.random_normal(shape=[100, 1])
    y_true = tf.matmul(X, [[0.8]]) + 0.7
    # 2)构造模型,定义模型参数用变量
    weights = tf.Variable(initial_value=tf.compat.v1.random_normal(shape=[1, 1]))
    bias = tf.Variable(initial_value=tf.compat.v1.random_normal(shape=[1, 1]))
    y_predict = tf.matmul(X, weights) + bias
    # 3)损失函数
    error = tf.reduce_mean(tf.square(y_predict - y_true))
    # 4)优化损失
    optimizer = tf.compat.v1.train.GradientDescentOptimizer(learning_rate=0.01).minimize(error)
    # 2_收集变量
    tf.summary.scalar('error', error)
    tf.summary.histogram("weights", weights)
    tf.summary.histogram("bias", bias)
    # 3_合并变量
    merged = tf.compat.v1.summary.merge_all()
    # 开启会话
    init = tf.compat.v1.global_variables_initializer()
    with tf.compat.v1.Session() as sess:
        # 初始化变量
        sess.run(init)
        # 1_创建事件文件
        file_writer = tf.compat.v1.summary.FileWriter("./venv/Linear", graph=sess.graph)
        # 查看初始化后模型参数的值
        print("训练前模型参数为:权重%f,偏执%f,损失为%f" % (weights.eval(), bias.eval(), error.eval()))
        # 开始训练
        for i in range(100):
            sess.run(optimizer)
            print("第%d次训练后模型参数为:权重%f,偏执%f,损失为%f" % (i+1, weights.eval(), bias.eval(), error.eval()))
            # 合并变量操作
            summary = sess.run(merged)
            # 写入事件文件
            file_writer.add_summary(summary, i)
        # 若下面的print在循环体中,则可以看到每次迭代后的值,即看到训练的过程
    return None


if __name__ == "__main__":
    # 实现线性回归
    linear_regression_demo()

运行结果及报错内容
训练前模型参数为:权重1.473141,偏执-0.302616,损失为1.3757561次训练后模型参数为:权重1.458058,偏执-0.283769,损失为1.439239
Traceback (most recent call last):
  File "E:/pycharm2022/pythonproject/Linear_regression.py", line 50, in <module>
    linear_regression_demo()
  File "E:/pycharm2022/pythonproject/Linear_regression.py", line 41, in linear_regression_demo
    summary = sess.run(merged)
  File "E:\pycharm2022\pythonproject\venv\lib\site-packages\tensorflow\python\client\session.py", line 968, in run
    result = self._run(None, fetches, feed_dict, options_ptr,
  File "E:\pycharm2022\pythonproject\venv\lib\site-packages\tensorflow\python\client\session.py", line 1176, in _run
    fetch_handler = _FetchHandler(
  File "E:\pycharm2022\pythonproject\venv\lib\site-packages\tensorflow\python\client\session.py", line 485, in __init__
    self._fetch_mapper = _FetchMapper.for_fetch(fetches)
  File "E:\pycharm2022\pythonproject\venv\lib\site-packages\tensorflow\python\client\session.py", line 262, in for_fetch
    raise TypeError(f'Argument `fetch` = {fetch} has invalid type '
TypeError: Argument `fetch` = None has invalid type "NoneType". Cannot be None

Process finished with exit code 1

我的解答思路和尝试过的方法

还不知道为什么出错,求解

  • 写回答

2条回答 默认 最新

  • wjl????? 2022-09-30 10:38
    关注

    你把收集能量那边改一下:在summary前加上compat.v1
    tf.compat.v1.summary.scalar("error", error)
    tf.compat.v1.summary.histogram("weight", weights)
    tf.compat.v1.summary.histogram("bias", bias)

    评论

报告相同问题?

问题事件

  • 修改了问题 9月20日
  • 创建了问题 9月20日

悬赏问题

  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站
  • ¥50 成都蓉城足球俱乐部小程序抢票
  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)