2017-03-28 20 views
0

Tensorflowで変数とテンソルを連結したいが、Tensorflowはそれらの2つのタイプを連結させません。ここでTensorflowでテンソルを連結する

は、私は2つのテンソル連結方法は次のとおりです。

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]) 

をしかし、私は次のエラーを取得しています:

File "test.py", line 93, in l2_reg_lambda=FLAGS.l2_reg_lambda) File "test.py", line 31, in init self.embedded_chars = tf.concat(1,[self.embedded_chars,v1]) File "lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1047, in concat dtype=dtypes.int32).get_shape( File "lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 651, in convert_to_tensor as_ref=False) File "lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 716, in internal_convert_to_tensor ret = conversion_func(value, dtype=dtype, name=name, as_ref=as_ref) File "lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 176, in _constant_tensor_conversion_function return constant(v, dtype=dtype, name=name) File "lib/python2.7/site-packages/tensorflow/python/framework/constant_op.py", line 165, in constant tensor_util.make_tensor_proto(value, dtype=dtype, shape=shape, verify_shape=verify_shape)) File "lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.py", line 367, in make_tensor_proto _AssertCompatible(values, dtype) File "lib/python2.7/site-packages/tensorflow/python/framework/tensor_util.py", line 302, in _AssertCompatible (dtype.name, repr(mismatch), type(mismatch).name)) TypeError: Expected int32, got list containing Tensors of type '_Message' instead.

私が正しく変数とテンソルを連結するにはどうすればよいですか?

答えて

1

バージョン1.0を使用していると仮定します。 ドキュメントを見ると、concat(https://www.tensorflow.org/api_docs/python/tf/concat)は最初の引数として値を、2番目の引数として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) 

私はそれをテストしていないとして、それが動作するかどうか私に教えて!

乾杯!

+0

これはバージョン1.0以降でのみ該当します。 – kaufmanu

+0

Mmm、十分な公正!クマがこのバージョンを使用していると仮定していた。 @Bear:どのバージョンのTensorflowを使用していますか? – rmeertens

+0

が働いた。私は1.0です – bear

関連する問題