2017-10-19 88 views
1

我需要同時提供從正態分佈採樣的圖像和矢量。由於我使用的圖像數據集太大,我爲該部分創建了一個ImageDeserializer。但是我還需要將隨機向量(從numpy正態分佈中採樣)添加到輸入映射中,然後將其輸入到網絡中。有什麼辦法可以做到這一點?將合成輸入反饋到模型

我也測試:

mb_data = reader_train.next_minibatch(mb_size, input_map=input_map) 
mb_data[random_input_node] = np.random.normal((mb_size, 100)) 

但出現以下錯誤:

TypeError: cannot convert value of dictionary to N4CNTK13MinibatchDataE

什麼建議嗎?

+0

嗨穆罕默德,我會推薦一個間接的方法來實現這個:[創建一個自定義UserMinibatchSource](https://cntk.ai/pythondocs/extend.html#user-defined-minibatch-sources),將定義流爲圖像和隨機向量,並自動返回在每個小批量。 – mewahl

回答

0

與下面的代碼段解決了數據反饋給教練員的問題:

mb_data = reader_train.next_minibatch(mb_size, input_map=input_map) 
z = np.random.normal(mb_size) 
my_trainer.train_minibatch({feature_image: mb_data[image].data, feature_z: z}) 

也感謝@mewahl。定義新讀者是解決問題的另一種合適的方式,我認爲它必須比我所做的更快。