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