2017-12-28 11 views
-1

私は自分の画像分類タスクを実行するためにtf.estimate.quickstartのコードを使用していますが、タイトルにエラーが表示され続けると、これは完全なコードです:TypeError:予想される文字列。代わりにint型の0が返される

import numpy as np 
import tensorflow as tf 
import pandas as pd 

train_x = pd.read_csv('train_set_x.csv') 
train_y = pd.read_csv('train_set_y.csv') 

test_x = pd.read_csv('test_set_x.csv') 
test_y = pd.read_csv('test_set_y.csv') 
feature_columns = [tf.feature_column.numeric_column("x", shape=[784])] 

uni = set() 
for i in range(0,26): 
str(i) 
uni.add(i) 

uni = list(uni) 


train_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={"x": np.array(train_x)}, 
    y=np.array(train_y), 
    num_epochs=None, 
    shuffle=True) 
classifier = tf.estimator.DNNClassifier(feature_columns=feature_columns, 
    hidden_units=[10, 20, 10], 
    n_classes=26, 
    model_dir="/tmp/test_run", 
    label_vocabulary=uni) 


classifier.train(input_fn=train_input_fn, steps=1) 

test_input_fn = tf.estimator.inputs.numpy_input_fn(
    x={"x": np.array(test_x)}, 
    y=np.array(test_y), 
    num_epochs=1, 
    shuffle=False) 
accuracy_score = classifier.evaluate(input_fn = test_input_fn)["Accuracy"] 

print("\nTest Accuracy: {0:f}\n".format(accuracy_score)) 

私が使用したデータセットは、私が.csvファイルに変換してきた28×28の大きさに手書き文字画像が含まれているEMNISTデータセットで、これはイメージについて移動する正しい方法です認識トレーニング? エラーがある行で発生しclassifier.train(input_fn=train_input_fn, steps=1) ここでフルスタックトレースです:

トレースバック(最後の最新の呼び出し): ファイル「C:/Users/Slither/Documents/Scripts/lol.py」、行33 、in classifier.train(input_fn = train_input_fn、steps = 1) ファイルの "C:\ Users \ Slither \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ estimator \ estimator.py"ファイルの302行目にある LOT = self._train_model(input_fn、hooks、saving_listeners) ファイル "C:¥Users¥Slither¥Anaconda¥lib¥site-packages¥tensorflow¥python¥estimator¥estimator.py"、行711、_train_model 機能、ラベル、model_fn_lib.ModeKeys.TRAIN、self.config) ファイル "C:¥Users¥Slither¥Anaconda¥lib¥site-packages¥tensorflow¥python¥estimator¥estimator.py"、694行目、_call_model_fn model_fn_results = self._model_fn(features = features、** kwargs) ファイル "C:¥Users¥Slither¥Anaconda3¥lib¥site-packages¥tensorflow¥python¥estimator¥canned¥dnn.py"、行334、_model_fn config = config) ファイル "C:\ Users \ Slither \ Anaconda3¥lib¥site-packages¥tensorflow¥python¥estimator¥canned¥dnn.py "、行203、_dnn_model_fn logits = logits) ファイル" C:\ Users \ Slither \ Anaconda3 \ lib \ site-packages \ tensorflow C:\ Users \ Slither \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ ops \ lookup_ops」を参照してください。 py "、行1197、index_to_string_tab le_from_tensor convert_to_tensor as_refで、ファイル "C:¥Users¥Slither¥Anaconda3¥lib¥site-packages¥tensorflow¥python¥framework¥ops.py"(836行目)にあるvocabulary_list = ops.convert_to_tensor(vocabulary_list、dtypes.string) = false) internal_convert_to_tensor内のファイル "C:¥Users¥Slither¥Anaconda3¥lib¥site-packages¥tensorflow¥python¥framework¥ops.py" 926行目 ret = conversion_func(value、dtype = dtype、name = _constant_tensor_conversion_functionのファイル「C:\ Users \ Slither \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ framework \ constant_op.py」、行229、 戻り定数(v、dtype = dtype、 name = name) ファイル "C:\ Users \ Slither \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ framework \ constant_op.py"、行208、定数 make_tensor_protoのファイル "C:¥Users¥Slither¥Anaconda3¥lib¥site-packages¥tensorflow¥python¥framework¥tensor_util.py"、383行目の値、dtype = dtype、shape = shape、verify_shape = verify_shape) _AssertCompatible(値、dtype) ファイル "C:\ Users \ Slither \ Anaconda3 \ lib \ site-packages \ tensorflow \ python \ framework \ tensor_util.py"、303行、_AssertCompatible (dtype.name、repr(不一致)、 型の不一致)。 名前)) TypeError:予想される文字列。代わりに 'int'型の0が返されます。

プロセスが終了コード1

+0

完全なエラースタックトレースを提供できますか? – Ragu

+0

@Ragu私は編集を行い、完全なスタックトレースを追加しました。 – weens

答えて

0

を終え語彙は、文字列のことになっていますが、(あなたはSTR(i)を呼び出すと、あなたはおそらく私はSTR(i)を=を意味したときに結果を無視している)の整数を追加しています。

関連する問題