2016-05-16 9 views
0

テンソルフローで「セマンティックセグメンテーションのための完全畳み込みネットワーク」を実装しました。しかし、私の実装では意味のあることを学ぶことができず、常に0の予測やナンバークラッシュが発生しました。私のTensorflow FCNが失敗した理由

私はCaffeとTensorflowの違いを除いて、私が学んだすべてのトリックを試しました。私は今どこが間違っているのか考えたくない。 24時間

@

link to code

答えて

0

私はそれは難しいあなたのコードに飛び込むことを見つけます。

は、私はすべての私のトレーニング可能パラメータとその勾配を監視するために、多くのプロジェクトでは、このコードスニペットを使用:あなたを助けるかもしれない

ことの一つは、次のようです。あなたはパディングの引数が欠落している呼び出しあなたの転置畳み込み関数で :例はthis

コードは、すべてのトレーニング可能な変数を抽出し、それらをループし、ヒストグラムに

tvars = tf.trainable_variables() 
grads = tf.gradients(cost, tvars) 
gradients = zip(grads, tvars) 
# The following block plots for every trainable variable 
# - Histogram of the entries of the Tensor 
# - Histogram of the gradient over the Tensor 
# - Histogram of the grradient-norm over the Tensor 
for gradient, variable in gradients: 
    if isinstance(gradient, ops.IndexedSlices): 
    grad_values = gradient.values 
    else: 
    grad_values = gradient 

    h1 = tf.histogram_summary(variable.name, variable) 
    h2 = tf.histogram_summary(variable.name + "/gradients", grad_values) 
    h3 = tf.histogram_summary(variable.name + "/gradient_norm", 
+0

こんにちは、私のコードは本当に混乱しています。私はそれらをabitリファクタリングし、読みやすさを助けることを願っています。 – 24hours

-1

もう一つを要求しています。私はそれがどのようにパディングなしで動作するのだろうかと思う。 いずれにしてもpadding =VALIDまたはpadding = SAMEを設定し、tf.nn.conv2d_transposeに電話する必要があります。

希望すると便利です。

+0

'conv2d_transpose'の' padding'のデフォルト値は 'same'です。 TensorflowはCaffeのようにCROPレイヤーを持たないので、次元を維持することも同じです。最終的に、fcnはTensorflowで固定サイズの画像に挑戦しました。 – 24hours

関連する問題