tf.data.Dataset.from_tensor_slices().batch()
を用いてdatasetとしてデータをバッチ化しようとしています。
.batch()の引数で指定したバッチサイズが出力と一致しません。
tensorflow
1import tensorflow as tf 2 3BATCH_SIZES = [256, 128, 96, 64, 48, 32, 16] 4 5sliced = tf.data.Dataset.from_tensor_slices(tf.range(60000)) 6for i in BATCH_SIZES: 7 dataset = sliced.batch(i) 8 for item in dataset: 9 item 10 print(item.shape) 11 12 13(96,) 14(96,) 15(96,) 16(32,) 17(48,) 18(32,) 19(16,)
バッチサイズ指定がが96以上では、バッチサイズが96。
バッチサイズ指定がが64では、バッチサイズが32。
バッチサイズ指定がが48以下では、バッチサイズが指定通り。
バッチサイズの上限が96でも48でもないし不可解。
ドキュメントではバッチサイズ指定は32ビットまで可能な筈。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/10 14:34