2017-03-02 110 views
1

我正在使用Tensorflow DNN模型做一些分類Tensorflow分類標籤數據類型

我有一個數字(float32)數據輸入,但字符串類型輸出

x = tf.placeholder("float", [None, n_input]) 
y = tf.placeholder(tf.string, [None, n_classes]) 

當我嘗試定義的損失和優化如下:

cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=pred, labels=y)) 

我遇到

TypeError: sigmoid_cross_entropy_with_logits() got an unexpected keyword argument 'labels'

我從here擡起頭文件的錯誤,它表示

logits and targets must have the same type and shape.

是否需要將類轉換爲浮點數(散列到數字的字符串)?

output_y = [["apple", "apple", "orange", "banana"]] 
encoded_y = [[1], [1], [2], [3]] 

回答

1

如果您正在使用tensorflow v 0.10標籤的關鍵字是目標。 如果您使用tensorflow v 1.0,那麼標籤的關鍵字就是標籤。 根據文檔,您的標籤向量應該與logits,float 32或float64具有相同的類型。