33583


tensorflowで  
inputs.shape = [batch_size, ?, input_size]  
w.shape = [input_size, output_size]の時  
`tf.matmul(inputs, w)`  
をやりたいのですが、やりかたがわかりません。  
?の部分がtensorによって異なる(inputs[0].shape = [2, input_size], inputs[1].shape = [4,
input_size]のようなことが起きている)ので、

[code]

    a = tf.reshape(inputs, [-1, input_size])
    a = tf.matmul(a, ...)
    a = tf.reshape(a, [batch_size, ?, input_size])
    
[/code]

のような変換ができません。  
なにかよい解決方法あれば教えてください。  
?の部分は配列でlenghtsで持っています。


CC BY-SA 3.0
2017-03-25T10:31:25.903
33528
2017-03-27T13:31:44.753
2017-03-25T15:48:33.610
20856
20856
question
tensorflow
tensorflowでのtf.matmul(shape(batch_size, ?, input_size), shape(inputs_size, output_size))


?の箇所が可変ということ以前に、  
inputsはrank3で,ｗはrank2ですので?部分が固定値だとしてもmatmulは使用できないかと思います。

期待されている形がイメージ出来ていないので検討外れの回答かもしれませんが  
inputsのbatch毎にwとmatmulした結果を得たいということであれば、以下でどうでしょうか

[code]

    m = tf.map_fn(lambda x:tf.matmul(x,w), inputs)
    
[/code]


CC BY-SA 3.0
2017-03-27T13:31:44.753
33583
2017-03-27T13:31:44.753
19716
33528
answer