2017-04-14 11 views
1

この質問をタイトルに入れる方法はわかりません。しかし、私がTensorflowの使用に助けが必要な事例を示します。例えばベクトル行列(行列式)Tensorflow

matrix_1 shape = [4,2] 
matrix_2 shape = [4,1] 

matrix_1 * matrix 2 
[[1,2], 
[3,4], 
[5,6], 
[7,8]] 

* 

[[0.1], 
[0.2], 
[0.3], 
[0.4]] 

= [[0.1,0.2], 
    [0.6,0.8], 
    [1.5,1.8], 
    [2.8,3.2]] 

は、これを達成するための任意のアルゴリズムはありますか?

は、これは私が上に簡略化され、問題の例から取得していますエラーです

ありがとう:正確に計算を実行します

ValueError: Dimensions must be equal, but are 784 and 100 for 'mul_13' (op: 'Mul') with input shapes: [100,784], [100]

答えて

1

標準tf.multiply(matrix_1, matrix_2)操作(または速記構文matrix_1 * matrix_2)はあなたmatrix_1matrix_2が必要です。

しかし、それはmatrix_2形状[100]を持っているので、それがelementwise broadcasting動作を得るために[100, 1]でなければならないのに対して、であるあなたが見ているエラーメッセージのように見えます。正しい形状に変換するにはtf.reshape(matrix_2, [100, 1])またはtf.expand_dims(matrix_2, 1)を使用してください。