《TensorFlow:实战 Google 深度学习框架(第 2 版)》报错代码及修正方法

TensorFlow 版本:1.14.0

第 3 章 p41 页代码:

>>> with g1.as_default():
...     v = tf.get_variable("v", initializer=tf.zeros_initializer(shape=[1]))

报错内容:

Traceback (most recent call last):
File “”, line 2, in
File “/Users/******/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py”, line 507, in new_func
return func(*args, **kwargs)
TypeError: init() got an unexpected keyword argument ‘shape’

查看 TensorFlow 官方 API:https://tensorflow.google.cn/api_docs/python/tf/zeros_initializer
中说明了 zeros_initializer 通过 __call__方法得到可调用对象(callable),并不能直接传入参数使用,因此 tf.zeros_initializer(shape=[1]) 会报错!
通过 __call__方法得到可调用对象的使用方法:

# 通过在可调用对象实例后面添加一对括号使用
>>> initializer = tf.zeros_initializer()
>>> initializer(shape=[1])
<tf.Tensor 'zeros:0' shape=(1,) dtype=float32>

同时,该实例的正确使用方法:

>>> with g1.as_default():
...     v = tf.get_variable("v", shape=[1], initializer=tf.zeros_initializer())

当然该书的官方源代码已更正该错误:https://github.com/caicloud/tensorflow-tutorial/blob/master/Deep_Learning_with_TensorFlow/1.4.0/Chapter03/1.%20图,张量及会话.ipynb

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn-WJW

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值