Я пытался использовать модель приложения Keras ResNet 50 для моей проблемы с этим кодом:
#Tensorflow and tf.keras
import tensorflow as tf
from tensorflow import keras
#tf.enable_eager_execution()
#Helper libraries
import numpy as np
import matplotlib.pyplot as plt
import Muenzbetragserkennung_input_ResNet
#print(tf.__version__)
#Dataset
#Training and test data
(train_images, train_labels), (test_images, test_labels) =
Muenzbetragserkennung_input_ResNet.read_input_shuffle()
batch_size, height, width, channels = train_images.shape
train_images = train_images / 255.0
test_images = test_images / 255.0
print(train_images.shape)
#Build the model
model = tf.keras.applications.resnet50.ResNet50(include_top=False,
weights=None, input_tensor=None, input_shape=(height, width, channels),
pooling='max')
model.compile(optimizer=tf.train.AdamOptimizer(),
loss='mean_squared_error',
metrics=['accuracy'])
#model.summary()
#Train
model.fit(train_images, train_labels, epochs=10)
#model.save_weights('models/muenzen.h5')
#Evaluate
loss, accuracy = model.evaluate(test_images, test_labels)
print('Accuracy', accuracy)
#Prediction
prediction = model.predict(test_images[0:1])
print(prediction)
Но получил следующее Ouput / Ошибка:
Изображения поезда формы: (3865, 240, 320, 3)
Маркировка поезда формы: (3865,)
Тестовые изображения формы: (967, 240, 320, 3)
Этикетки для проверки формы: (967,)
(3865, 240, 320, 3)
Traceback (последний последний вызов):
Файл "C: /Users/Christian/PycharmProjects/MuenzbetragserkennungResNet/Muenzbetragserkennung_ResNet.py",
строка 34, в
model.fit (train_images, train_labels, epochs = 10)
Файл
"C: \ Users \ Christian \ AppData \ Roaming \ Python \ Python36 \ сайт-пакеты \ tensorflow \ питон \ keras \ двигатель \ training.py",
линия 1278, в форме
validation_split = validation_split)
Файл
"C: \ Users \ Christian \ AppData \ Roaming \ Python \ Python36 \ сайт-пакеты \ tensorflow \ питон \ keras \ двигатель \ training.py",
строка 917, в _standardize_user_data
exception_prefix = 'цель')
Файл
"C: \ Users \ Christian \ AppData \ Roaming \ Python \ Python36 \ сайт-пакеты \ tensorflow \ питон \ keras \ двигатель \ training_utils.py",
строка 191, в standardize_input_data
'но получил массив с формой' + str (data_shape))
ValueError: Ошибка при проверке цели: ожидалось, что global_max_pooling2d будет иметь форму (2048,), но получил массив с формой
(1,)
Процесс завершен с кодом выхода 1
Я уже пробовал разные версии пула, но получил только другие ValueErrors.
Модель должна вывести одно значение (стоимость монет на изображении).
Заранее благодарю за помощь.