我有必要保持模型儘可能小的部署,可以在一個應用程序高效運行的圖像分類(精度不是真的對我有關)盜夢空間風格卷積
我最近與深度學習和我沒有很好的經驗,因此我現在正在玩Cifar-10的例子。 我試圖用兩個3x3卷積代替前兩個5x5卷積層,如inception paper中所述。
不幸,當我要去測試集進行分類,我周圍0.1正確分類(隨機選擇)
這是第一層的修改的碼(第二個是相似的):
with tf.variable_scope('conv1') as scope:
kernel_l1 = _variable_with_weight_decay('weights_l1', shape=[3, 3, 3, 64],
stddev=1e-4, wd=0.0)
kernel_l2 = _variable_with_weight_decay('weights_l2', shape=[3, 3, 64, 1],
stddev=1e-4, wd=0.0)
biases = _variable_on_cpu('biases', [64], tf.constant_initializer(0.0))
conv_l1 = tf.nn.conv2d(images, kernel_l1, [1, 1, 1, 1], padding='SAME')
conv_l2 = tf.nn.depthwise_conv2d(conv_l1, kernel_l2, [1, 1, 1, 1], padding='SAME')
bias = tf.nn.bias_add(conv_l2, biases)
conv1 = tf.nn.relu(bias, name=scope.name)
_activation_summary(conv1)
它正確嗎?
該代碼確實看起來正確,並且將過濾器大小更改爲3x3不應該如此劇烈地改變測試錯誤率。你在訓練集上得到什麼錯誤率? – keveman
我還沒有一個好的培訓設備(我只有一臺簡單的筆記本電腦上有一臺虛擬機)。因此我在7000步後停止了訓練。原始的cifar10代碼已經保證了74%的正確分類,但不是修改後的版本。在訓練過程中,我有2.34的損失,而原始的cifar10代碼的損失低於1.我正在接受培訓以培訓更長的網絡,我會讓你知道結果。 –