Я использую keras=2.3.1
, и я хотел использовать свою собственную версию zca_whitening. Для этого я внес изменения непосредственно в класс ImageDataGenerator
в файле keras /home/user/.local/lib/python3.6/site-packages/keras_preprocessing/image/image_data_generator.py
. Файл, включая мои изменения, это один . Мой файл нейронной сети nn_script.py
, который использует это измененное image_data_generator.py
, можно увидеть здесь . Нет проблем, пока nn_script.py
использует стандартные расширения keras, такие как:
train_datagen = ImageDataGenerator(
rotation_range=30,
shear_range=0.2,
samplewise_center=True, samplewise_std_normalization=True)
Но если я решу включить свою собственную версию zca_whitening под названием zca_whitening_fast
таким образом
train_datagen = ImageDataGenerator(
rotation_range=30,
shear_range=0.2,
samplewise_center=True, samplewise_std_normalization=True,
zca_whitening_fast=True)
Я получаю сообщение об ошибке
Traceback (most recent call last):
File "nn_script.py", line 55
TypeError: __init__() got an unexpected keyword argument 'zca_whitening_fast'
Вы можете воспроизвести мое сообщение об ошибке, заменив файл image_data_generator.py
файлом, который я разместил выше, и попытавшись создать генератор с параметром zca_whitening_fast=True
.
Сначала я подумал, что проблема в том, что я забыл включить zca_whitening_fast
в def __init__()
в файл image_data_generator.py
, но он есть, как вы можете проверить. Я также попытался удалить папку __pycache__
, потому что я думал, что некоторые старые файлы выполняются в этой папке, но появилась та же ошибка. Теперь мне интересно, приходит ли сообщение об ошибке из __init__()
, который находится в другом файле, а не в image_data_generator.py
. Я думаю, что решение является чем-то очевидным, мне, вероятно, нужно внести изменения в другой файл в папке предварительной обработки keras, но я не знаю, какой именно. Я не думаю, что проблема в том, что моя версия keras устарела и по причинам совместимости с моей картой graphi c я не могу обновить keras.
Есть идеи, почему я получаю это сообщение об ошибке? Спасибо