2016-09-30 79 views
2

我有我的訓練模型中構建的推理圖,並希望使用批量預測來預測許多記錄。我怎樣才能在輸入文件中指定輸入?Cloud ML批量預測今天支持哪些數據格式?

+0

歡迎來到Stack Overflow!請參閱** [如何提問](http://stackoverflow.com/questions/how-to-ask)**和** [最小,完整和可驗證示例](http://stackoverflow.com/help/MCVE)**。 [編輯](http://stackoverflow.com/posts/39782288/edit)該帖子在問題中添加相關代碼。 –

回答

2

到目前爲止,Cloud ML支持三種數據格式。一個是文本文件,其中的每一行都是您想要預測的記錄。第二種和第三種格式是TFRecords;支持壓縮和gzip壓縮。 TFRecord文件是用於存儲字節的容器,通常是二進制數據,例如,序列化示例proto。這些字節直接輸入到預測圖中。您必須在請求中的data_format字段(TEXT,TF_RECORD,TF_RECORD_GZIP)中指定它們。

對於文本格式,每一行都是JSON對象或UTF8字符串。在前者的情況下,鍵是輸入張量名稱,值是將被饋送到推斷圖中的數據。如果您的圖只有一個輸入張量,則可以跳過JSON並保存換行符分隔的字符串。

下面是一些例子:

你有四個輸入張量,即指數,身高,名字和圖像

{「index」: 100, 「height」: 5.5, 「name」: 「Alice」, 「image」: [0.0, 0.0, 0.123, 0.17,0,0]} 
{「index」: 101, 「height」: 5.8, 「name」: 「John」, 「image」: [0.0, 0.21, 0.09, 0.5, 0,0]} 
... 

你有一個字符串輸入張量。無需指定名稱。

「This is a string input」 
「That is another string input」 
... 

你有一個帶標量類型的張量。無需指定名稱。

1445 
425 
3412 
... 

您有一個輸入張量,它是一個numpy數組。無需指定名稱。

[0, 3.14, 2.718, 0.0, 1.414] 
[1.618, 299.7, 8.314, 0.0, 0.0] 
... 

注意的是,在複式張量的名字輸入的情況下必須在推理圖輸入集合定義的aliases匹配。