#python #tensorflow #tensorflow2.0
Вопрос:
У меня есть возражение:
datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255)
datagenerator1=datagen.flow(train_data,train_labels, batch_size=8,seed=3,shuffle=True)
Этикетка моего первого изображения такова
tf.print(datagenerator[0][1][0])
array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32)
Я просто хочу сменить свой лейбл. Я стараюсь:
datagenerator[0][1][0]=tf.constant([1., 0.,0.,0., 0.,0., 0.,0.,0., 0.])
Но когда я проверил это, ничего не изменилось :
tf.print(datagenerator[0][1][0])
array([0., 0., 0., 0., 0., 1., 0., 0., 0., 0.], dtype=float32)
Как я могу изменить метки моих образцов с помощью генератора ImageDataGenerator?
Также во время моего применения я получаю ярлыки, используя :
datagenerator.__next__()
tf.print(datagenerator.__next__()[1])
array([[0., 0., 0., 1., 0., 0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0., 0., 0., 0., 1., 0.],
[1., 0., 0., 0., 0., 0., 0., 0., 0., 0.]], dtype=float32)
Можно ли навсегда изменить метку после использования next() без создания нового генератора?
Я имею в виду, что в следующий раз, когда генератор покажет тот же образец, они покажут образец с измененной меткой без создания нового генератора ?