我對機器學習和 Tensorflow 比較陌生,我想嘗試在 MNIST 數據集上實現小批量梯度下降。但是,我不確定應該如何實施它。(旁注:訓練圖像(28px x 28px)和標簽存儲在 Numpy 數組中)目前,我可以看到兩種不同的實現方式:我的訓練圖像位于 [60000,28,28] 的 Numpy 數組中。將其重塑為 [25(批次數)、2400(批次中的圖像數)、28,28],然后使用 for 循環調用每個批次并將其傳遞給 model.compile() 方法。我對這種方法唯一擔心的是 for 循環本質上很慢,而矢量化實現會快得多。將圖像和標簽組合成一個tensorflow數據集對象,然后調用Dataset.batch()方法和Dataset.prefetch()方法,然后將數據傳遞給model.compile()方法。唯一的問題是我的數據不會保留為 Numpy 數組,我認為它比張量流數據集對象具有更大的靈活性。這兩種方法中哪一種最適合實施,或者是否有我不知道的第三種最佳方法?
如何在Tensorflow 2中實現小批量梯度下降?
慕的地6264312
2023-07-05 16:39:00