簡體   English   中英

在Tensorflow中連接張量

[英]Concatenating tensors in Tensorflow

我想在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])

但是我收到以下錯誤:

文件“ test.py”,第93行,位於l2_reg_lambda = FLAGS.l2_reg_lambda中)文件“ test.py”,第31行,位於init self.embedded_chars = tf.concat(1,[self.embedded_chars,v1])文件“ lib /python2.7/site-packages/tensorflow/python/ops/array_ops.py“,第1047行,在concat dtype = dtypes.int32).get_shape(文件” lib / python2.7 / site-packages / tensorflow / python /框架/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,名稱=名稱,as_ref = as_ref)文件“ lib / python2.7 / site-packages / tensorflow / python / framework / constant_op.py”,第176行,_constant_tensor_conversion_function中的返回常量(v,dtype = dtype,名稱) = name)文件“ 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(values,dtype)文件“ lib / python2.7 / site-packages / tensorflow / python / framework / tensor_util.py”,行302,在_AssertCompatible(dtype.name,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)

因為我沒有測試它,所以讓我知道它是否有效!

干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM