Ошибка модуля.save() «TypeError: этот дескриптор __dict__ не поддерживает объекты «_DictWrapper»Python

Программы на Python
Ответить
Anonymous
 Ошибка модуля.save() «TypeError: этот дескриптор __dict__ не поддерживает объекты «_DictWrapper»

Сообщение Anonymous »

Я просматриваю руководство на YouTube по классификации изображений с помощью машинного обучения. Я продолжаю получать сообщение об ошибке, как показано в заголовке, при попытке сохранить модуль глубокого обучения с помощью тензорного потока.
Я использую PyCharm в Windows 11.
вот мой код...

Код: Выделить всё

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt
import tensorflow as tf
from tensorflow import keras as ker

(training_images, training_labels), (testing_images, testing_labels) = ker.datasets.cifar10.load_data()
testing_images, testing_images = training_images / 255, testing_images / 255

class_names = ['Plane', 'Car', 'Bird', 'Cat', 'Deer', 'Dog', 'Frog', 'Horse', 'Ship', 'Truck']

for i in range(16):
plt.subplot(4, 4, i+1)
plt.xticks([])
plt.yticks([])
plt.imshow(training_images[i], cmap=plt.cm.binary)
plt.xlabel(class_names[training_labels[i][0]])

plt.show()

training_images = training_images[:20000]
training_labels = training_labels[:20000]
testing_images = testing_images[:4000]
testing_labels = testing_labels[:4000]

#Model
model = ker.models.Sequential()
model.add(ker.layers.Conv2D(32, (3,3), activation='relu', input_shape=(32,32,3)))
model.add(ker.layers.MaxPooling2D((2,2)))
model.add(ker.layers.Conv2D(64, (3,3), activation='relu'))
model.add(ker.layers.MaxPooling2D((2,2)))
model.add(ker.layers.Conv2D(64, (3,3), activation='relu'))
model.add(ker.layers.Flatten())
model.add(ker.layers.Dense(64, activation='relu'))
model.add(ker.layers.Dense(10, activation='softmax'))

model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

model.fit(training_images, training_labels, epochs=1, validation_data=(testing_images, testing_labels))

loss, accuracy = model.evaluate(testing_images, testing_labels)
print(f"Loss: {loss}")
print(f"Accuracy: {accuracy}")

model.save('img_classifier.model')

#model = ker.models.load_model()
выход...

Код: Выделить всё

C:\img_classifier\venv\Scripts\python.exe
C:\img_classifier\main.py
625/625 [==============================] - 15s 23ms/step - loss: 2.1824 - accuracy: 0.2874 - val_loss: 2.3014 - val_accuracy: 0.1047
125/125 [==============================] - 1s 8ms/step - loss: 2.3014 - accuracy: 0.1047
Loss: 2.30141019821167
Accuracy: 0.10474999994039536
WARNING:absl:Found untraced functions such as _jit_compiled_convolution_op, _jit_compiled_convolution_op, _jit_compiled_convolution_op, _update_step_xla while saving (showing 4 of 4). These functions will not be directly callable after loading.
Traceback (most recent call last):
File "C:\Users\{user}\PycharmProjects\img_classifier\main.py", line 47, in 
model.save('img_classifier.model')
File "C:\Users\{user}\AppData\Roaming\Python\Python311\site-packages\keras\utils\traceback_utils.py", line 70, in error_handler
raise e.with_traceback(filtered_tb) from None
File "C:\Users\{user}\AppData\Roaming\Python\Python311\site-packages\tensorflow\python\trackable\data_structures.py", line 823, in __getattribute__
return super().__getattribute__(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: this __dict__ descriptor does not support '_DictWrapper' objects

Process finished with exit code 1

Я пробовал менять IDE, изначально я использовал VSCode, но ошибок было гораздо больше, затем я переключился на PyCharm, и это единственная ошибка, которая сохраняется. Как видите, код для обучения модуля не имеет проблем, но потом я не могу сохранить модуль.
Как это исправить??

Подробнее здесь: https://stackoverflow.com/questions/755 ... pport-dict
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»