首页 > 解决方案 > 如何解决构建中性网络的形状问题?

问题描述

我有一个目录,其中有两个文件夹,第一个是冬天的图像,第二个是夏天的图像。但我有这种类型的问题。我该如何解决?(如何解决构建中性网络的形状问题?)

import numpy as np
from PIL import Image
from matplotlib import pyplot as plt
import os
import keras 
import joblib
from keras.preprocessing.image import ImageDataGenerator


train_images = 'C:\\Users\\Администратор\\AppData\\Local\\Programs\\Python\\Python36-32\\train_images'

model = keras.Sequential([
    keras.layers.Flatten(input_shape=(48, 48, 3)),
    keras.layers.Dense(128, activation='relu'),
    keras.layers.Dropout(0.5),
    keras.layers.Dense(1, activation='sigmoid')
])

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

datagen = ImageDataGenerator(rescale = 1. /255)

train_generator = datagen.flow_from_directory(
  train_images,
  target_size = (48,48),
  batch_size = 37,
  class_mode = 'binary')

model.fit(np.array(train_images), epochs=10, validation_split = 0.1)

看起来您的帖子主要是代码;请添加更多细节。错误 (cmd)。

C:\Users\Администратор>C:\Users\Администратор\AppData\Local\Programs\Python\Pyth
on36-32\image_guess.py
Using Theano backend.
WARNING (theano.configdefaults): g++ not available, if using conda: `conda insta
ll m2w64-toolchain`
C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\site-packag
es\theano\configdefaults.py:560: UserWarning: DeprecationWarning: there is no c+
+ compiler.This is deprecated and with Theano 0.11 a c++ compiler will be mandat
ory
  warnings.warn("DeprecationWarning: there is no c++ compiler."
WARNING (theano.configdefaults): g++ not detected ! Theano will be unable to exe
cute optimized C-implementations (for both CPU and GPU) and will default to Pyth
on implementations. Performance will be severely degraded. To remove this warnin
g, set Theano flags cxx to an empty string.
WARNING (theano.tensor.blas): Using NumPy C-API based implementation for BLAS fu
nctions.
Found 370 images belonging to 2 classes.
Traceback (most recent call last):
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\image_g
uess.py", line 31, in <module>
    model.fit(np.array(train_images), epochs=10, validation_split = 0.1)
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\sit
e-packages\keras\engine\training.py", line 1154, in fit
    batch_size=batch_size)
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\sit
e-packages\keras\engine\training.py", line 579, in _standardize_user_data
    exception_prefix='input')
  File "C:\Users\Администратор\AppData\Local\Programs\Python\Python36-32\lib\sit
e-packages\keras\engine\training_utils.py", line 135, in standardize_input_data
    'with shape ' + str(data_shape))
ValueError: Error when checking input: expected flatten_1_input to have 4 dimensions, but got array with shape ()

标签: python

解决方案


推荐阅读