python中shape错误_python中错误TypeError: __init__() got an unexpected keyword argument 'shape'

在学习TensorFlow时遇到使用不同计算图定义变量的错误:TypeError: __init__() got an unexpected keyword argument 'shape'。问题源于Python版本差异,解决方法是更新变量初始化方式,如将`tf.zeros_initializer(shape=[1])`改为`tf.zeros_initializer()(shape=[1])`,同时处理了相关警告。
摘要由CSDN通过智能技术生成

学习TensorFlow遇到的问题:python

1 如何在不一样计算图上定义和使用变量学习

书上代码:.net

import tensorflow as tf

g1 = tf.Graph()

with g1.as_default():

#在计算g1中定义变量“v”,并设置初始值为0。

v = tf.get_variable(

"v", initializer=tf.zeros_initializer(shape=[1])

)

g2 = tf.Graph()

with g2.as_default():

#在计算图g2中定义变量"v",并设置初始值为1.

v=tf.get_variable(

"v", initializer=tf.ones_initializer(shape=[1])

)

#在计算图g1中读取变量“v”的取值。

with tf.Session(graph=g1) as sess:

#tf.initialize_all_variables().run

tf.global_variables_initializer().run()

with tf.variable_scope("",reuse=True):

#在计算图g1中,变量“v”的取值应该为0,因此下面这行会输出[0.]

print(sess.run(tf.get_variable("v")))

#在计算图g2中读取变量”v“的取值

with tf.Session(graph=g2) as sess:

tf.initialize_all_variables().run()

with tf.variable_scope("",reuse=True):

#在计算图g2中,变量”v“的取值应该为1,因此下面这行会输出[1.]

print(sess.run(tf.get_variable("v")))

报错:blog

2af8c3c0c654494fd913aca856a701ef.png

故在网上找了缘由:get

了解到是因为python版本的问题it

错误更改:io

v = tf.get_variable("v", shape=[1], initializer=tf.zeros_initializer)

虽然输出告终果可是会有警告以下图:class

a1f17c4f4518a02f0da85f4a9f67116e.png

警告更改:import

tf.global_variables_initializer().run()

09be64b6dea5981e90404d4fea8f6b0c.png

参照 博客下面的评论了解到是因为新版tf.zeros_initializer和ones_initializer后面须要加括号

tf.get_variable(“v”,initializer=tf.zeros_initializer(shape=[1]))

改成:

v = tf.get_variable(“v”,initializer=tf.zeros_initializer( )(shape=[1]))

76f40191bb1fd41f3b0975e8fae8aeea.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值