- 投稿日:2020-01-04T13:49:08+09:00
[tensorflow]tf.nn.conv2d()のfiltersにはtensorを与える.
備忘録です.
tf.nn.conv2d()の引数filtersにはtensorとして定義したkernelを与えましょう.悪い例
conv = tf.nn.conv2d( input=image, filters=[8,8,64,128], padding="VALID", data_format="NHWC" )公式ドキュメントを見ればわかるが,filtersにはtensorを与える.上のようにkernelのshapeを与えてはいけない(気持ちはわかる).
ちなみに上記のコードだとこんなエラーが出る.ValueError: Shape must be rank 4 but is rank 1 for 'Conv2D_1' (op: 'Conv2D') with input shapes: [?,28,28,64], [4].動く例
fil = tf.get_variable('weights', [8,8,64,128], dtype=tf.float32) conv = tf.nn.conv2d( input=image filters=fil, padding="VALID", data_format="NHWC" )kernel(fil)をtensorとして定義して,filtersにはそのtensorを与える.