model_fn()
の中にランダム変数を作成する必要があります。形状は[batch_size, 20]
です。skflowのmodel_fnでbatch_sizeを使用する
batch_size
を引数として渡したくありません。予測に別のバッチサイズを使用できないためです。この質問には関係していない部分を削除
、私model_fnは()です:
def model(inp, out):
eps = tf.random_normal([batch_size, 20], 0, 1, name="eps"))) # batch_size is the
# value I do not want to hardcode
# dummy example
predictions = tf.add(inp, eps)
return predictions, 1
私はinp.get_shape()
で[batch_size, 20]
を交換する場合myclf.setup_training()
を実行しているとき、私は
ValueError: Cannot convert a partially known TensorShape to a Tensor: (?, 20)
を取得します。
私は
def model(inp, out):
batch_size = tf.placeholder("float", [])
eps = tf.random_normal([batch_size.eval(), 20], 0, 1, name="eps")))
# dummy example
predictions = tf.add(inp, eps)
return predictions, 1
してみてください、私はsess.as_defaultとValueError: Cannot evaluate tensor using eval(): No default session is registered. Use
()or pass an explicit session to eval(session=sess)
を取得した場合は(当然のことながら、私はfeed_dictを提供していないので)
にはどうすればmodel_fn()
内batch_size
の値にアクセスすることができ、予測の間にそれを変更することができますか?
ではなくbatch_size.evalのどれを(使用していない試してみてください) – Aaron
@Aaron私が試したが、それは 'TypeError例外私を与える:予想されるバイナリまたはユニコード文字列、取得済みなし –