ネットワークでアップサンプリングの代わりにconv2d_tranpose
(またはデコンボリューション)を使用したいと思います。 これは、output_shape
を関数呼び出しに渡す必要があります。それは問題ではない、私はそれを計算することができます。しかし、batch_sizeにNoneを指定して、設定を柔軟に保ちたい。 これは可能ですか?ここでTensorflow:conv2D_transposeのoutput_shapeにnoneを使用
は、コードの行です:
tf.nn.conv2d_transpose(hd_conv1, Wd_conv1, [batch_size, 14,14,64], strides=[1,2,2,1], padding="SAME")
batch_size
は単に、私は私のスクリプトの先頭に設定された変数です。このコードは正常に動作が、私はNone
代わりのbatch_size
を使用している場合:私はそれに対処するさまざまな方法があることを奇妙だと思う
ValueError: output_shape must have shape (4,), got (3,)
:
TypeError: Expected binary or unicode string, got None
は、私はちょうど最初の次元を除外した場合batch_sizeいくつかの操作は通常のconv2dのように単純に無視しますが、ここでは明示的に指定する必要があります。 いずれにしても、なぜ自分自身でoutput_shapeを計算しなければならないのだろうと思っていました。与えられた入力、ストライド、パディング、それは簡単に計算する必要があります。 output_shapeの推論に関してgithub issueがありますが、残念ながらフォローアップがないようです。
私はoutput_shapeの明示的なbatch_size
にこの権利を渡していますか? batch_size
を明示的に省略する方法はありますか?
githubの問題にはいくつかの説明があります。あなたがそれを取得しない場合は、ちょうどそこにフォローアップ。 – yuefengz