我想在Tensorflow中连接变量和张量,但Tensorflow不允许这两种类型连接。
这是我连接两个张量的方法:
self.embedded_chars = tf.nn.embedding_lookup(self.W, self.input_x) //returns Tensor object
v1 = tf.Variable(tf.zeros([88,77]),dtype=tf.float32)
self.embedded_chars = tf.concat(1,[self.embedded_chars,v1])
但是我收到以下错误:
l2_reg_lambda = FLAGS.l2_reg_lambda中的文件“ test.py”,第93行)init文件中的“ test.py”,第31行 self.embedded_chars = tf.concat(1,[self.embedded_chars,v1])文件“ lib / python2.7 / site-packages / tensorflow / python / ops / array_ops.py”,行1047,格式为dtype = dtypes。 int32).get_shape(文件“ lib / python2.7 / site-packages / tensorflow / python / framework / ops.py”,第651行,在convert_to_tensor中as_ref = False)文件“ lib / python2.7 / site-packages / tensorflow /python/framework/ops.py”,第716行,位于internal_convert_to_tensor中ret = conversion_func(value,dtype = dtype,name = name,as_ref = as_ref)文件“ lib / python2.7 / site-packages / tensorflow / python / framework /constant_op.py”,第176行,_constant_tensor_conversion_function中的返回常量(v,dtype = dtype,名称=名称)文件“ lib / python2.7 / site-packages / tensorflow / python / framework / constant_op.py”,第165行,在常量tensor_util.make_tensor_proto(值,dtype = dtype,shape = shape,verify_shape = verify_shape))文件“ lib / python2.7 / site-packages / tensorflow / python / framework / tensor_util.py”,行367,在make_tensor_proto _AssertCompatible中(值,dtype)文件“ lib / python2.7 / site-packages / tensorflow / python / framework / tensor_util.py”,第302行,位于_AssertCompatible(dtype.name,repr(不匹配),type(不匹配)。repr(不匹配),类型(不匹配)。repr(不匹配),类型(不匹配)。name))TypeError:预期为int32,获取的列表中包含类型为'_Message'的张量。
如何正确连接变量和张量?
假设您使用的是1.0版:如果您查看文档,就会发现concat(https://www.tensorflow.org/api_docs/python/tf/concat)希望将值作为第一个参数,将axis作为第二个参数论点。
您的代码应为:
self.embedded_chars = tf.nn.embedding_lookup(self.W, self.input_x) //returns Tensor object
v1 = tf.Variable(tf.zeros([88,77]),dtype=tf.float32)
self.embedded_chars = tf.concat([self.embedded_chars,v1],1)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。