Как изменить метку некоторого образца с помощью tf.keras.предварительная обработка.изображение.Генератор изображений ( TENSORFLOW 2.0 )

#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() без создания нового генератора?

Я имею в виду, что в следующий раз, когда генератор покажет тот же образец, они покажут образец с измененной меткой без создания нового генератора ?