Keras2が地平線上のTensorFlowおよびTensorFlow 2.0に実装されているので、Keras ImageDataGenerator
を、たとえば_flow_from_directory
_または_tf.data
_とともに使用する必要があります。これは、_fit_genearator
_でも使用できます。今ケラスの?
両方のメソッドが異なる目的を果たすことによってそれぞれの場所を持つでしょうか、または_tf.data
_は新しい方法であり、将来Kerasジェネレーターは非推奨になるでしょうか?
おかげで、私はこの速い動きのある分野で私を少し長く最新の状態に保つ道を進みたいと思います。
私にとっては、yield
を使用してジェネレーターを作成することを好みます。
def generator(batch_size=4,path):
imgs=glob(path+'*.jpg')
while True:
batch=[]
for i in range(batch_size):
idx=np.random.randint(0,len(imgs))
img=cv.resize(cv.imread(imgs[idx]),(256,256))/255
batch.append(img)
batch=np.array(batch)
yield batch
次に、ジェネレータを作成してmodel.fit_generator
に入力すると、機能します。
このようにランダムにデータを選択するか、いくつかの繰り返しメソッドを使用できます。
コードは大雑把ですが、複雑なバッチを生成できるように変更するのは簡単です。
これは、TensorFlow 2.0ではなくKeras2でTF 1.Xを生成する方法であることに注意してください。