2016-10-23 18 views
1

cifarデータセットの分類子を作成してNeural Netsで足を濡らそうとしています。私はtflearnレポからの例をつかむことにしましたが、私は困っています。TFLearn CovNetの例でCIFAR-10でエラーが発生しました

注意すべきいくつかのものがあります。

私は私のモデルをテストするためにJupyterノートブックを使用しています。

Cifarデータセットを使用しています(https://www.cs.toronto.edu/~kriz/cifar.html)。パイソン3.5、Tensorflow 0.10、TFLearn 0.2.1

import tflearn 
from tflearn.data_utils import shuffle, to_categorical 
from tflearn.layers.core import input_data, dropout, fully_connected 
from tflearn.layers.conv import conv_2d, max_pool_2d 
from tflearn.layers.estimator import regression 

(X, Y), (X_test, Y_test) = (raw_train_data, raw_train_labels), \ 
         (raw_test_data, raw_test_labels) 
X, Y = shuffle(X, Y) 
Y = to_categorical(Y, 10) 
Y_test = to_categorical(Y_test, 10) 

# X, X_test = tf.reshape(X, [-1, 32, 32, 3]), tf.reshape(X_test, [-1, 32, 32, 3]) 
# Convolutional network building 
network = input_data(shape=[None, 32, 32, 3], 
       data_preprocessing=img_prep, 
       data_augmentation=img_aug) 
network = conv_2d(network, 32, 3, activation='relu') 
network = max_pool_2d(network, 2) 
network = conv_2d(network, 64, 3, activation='relu') 
network = conv_2d(network, 64, 3, activation='relu') 
network = max_pool_2d(network, 2) 
network = fully_connected(network, 512, activation='relu') 
network = dropout(network, 0.5) 
network = fully_connected(network, 10, activation='softmax') 
network = regression(network, optimizer='adam', 
       loss='categorical_crossentropy', 
       learning_rate=0.01) 

model = tflearn.DNN(network, tensorboard_verbose=0) 
model.fit(X, Y, n_epoch=2, shuffle=False, validation_set=(X_test, Y_test), 
     show_metric=False, batch_size=50, run_id='cifar10_cnn') 

私は次の例外を取得:各画像の形状のアレイ[3072](それは、単一のアレイに平ら)

バージョンであります最初の実行: スレッド内の例外Thre​​ad-17:

ValueError: Input must be >= 2-d。私はカーネルをリセットせずにノートブックを再実行すると

は、私のエラーメッセージがに変わり:

IndexError: list index out of range

そして最後に、私はTensorflow使って自分のデータを再構築しようとすると:

TypeError: 'Tensor' object is not iterable

答えて

2

私はこれがtfとtf-learnインストールの問題であると感じます。 テンソルフローとtflearnを再インストールすることを強くお勧めします(Jupyterが何を使用しているのか分かりません) 私はvirtualenvを使ってクリーンインストールを行ったばかりです。すべてが.pyファイルで端末からの魅力のように動作します。 Jupiterのノートブックを指摘して、tfとtf-learnのバージョンを調べることができますか?

ここにコードの変更バージョン(パラメータあり): convnetの例hereをベースとして使用しました。

https://gist.github.com/hakanu/1cc91000548978e0245a901e565040d1

関連する問題