Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Keras-如何输入自定义图像?_Python_Tensorflow_Keras - Fatal编程技术网

Python Keras-如何输入自定义图像?

Python Keras-如何输入自定义图像?,python,tensorflow,keras,Python,Tensorflow,Keras,我在这里的代码创建了一个基于图片的图像分类神经网络,我在互联网上搜索过,但有一件事我不明白,那就是如何输入我自己的图像文件来测试网络,并让它打印输出。例如,如果网络用于对狗和猫进行分类,我不确定如何对输入狗或猫的jpg/png文件的位进行编码,以及程序输出它是哪个类。请帮助?您可以调用模型的预测方法 再次从docs:x:输入数据,作为Numpy数组(如果模型有多个输入,则为Numpy数组列表)。在线查看一些基本的keras教程,有很多很好的例子。看起来是一个很好的开始。祝你好运 from

我在这里的代码创建了一个基于图片的图像分类神经网络,我在互联网上搜索过,但有一件事我不明白,那就是如何输入我自己的图像文件来测试网络,并让它打印输出。例如,如果网络用于对狗和猫进行分类,我不确定如何对输入狗或猫的jpg/png文件的位进行编码,以及程序输出它是哪个类。请帮助?

您可以调用模型的
预测方法

再次从docs:x:输入数据,作为Numpy数组(如果模型有多个输入,则为Numpy数组列表)。在线查看一些基本的keras教程,有很多很好的例子。看起来是一个很好的开始。祝你好运
    from keras import *
import os
import numpy as np
from keras.models import Sequential
from keras.layers import Activation, Dropout, Flatten, Dense
from keras.preprocessing.image import ImageDataGenerator
from keras.layers import Convolution2D, MaxPooling2D, ZeroPadding2D
from keras import optimizers

# Collecting data:
img_width, img_height = 150, 150
training_data_dir = "train"
testing_data_dir = "test"
batch_size = 16

# prepare data augmentation configuration
train_datagen = ImageDataGenerator(
    rescale=1. / 255,
    shear_range=0.2,
    zoom_range=0.2,
    horizontal_flip=True)

test_datagen = ImageDataGenerator(rescale=1. / 255)

train_generator = train_datagen.flow_from_directory(
    training_data_dir,
    target_size=(img_height, img_width),
    batch_size=batch_size,
    class_mode='binary')

validation_generator = test_datagen.flow_from_directory(
    testing_data_dir,
    target_size=(img_height, img_width),
    batch_size=batch_size,
    class_mode='binary')

# Building model:
model = Sequential()
model.add(Convolution2D(32, (3, 3), input_shape=(img_width, img_height,3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Convolution2D(32, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Convolution2D(64, (3, 3)))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))

model.add(Flatten())
model.add(Dense(64))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(1))
model.add(Activation('sigmoid'))

model.compile(loss="binary_crossentropy",
              optimizer="rmsprop",
              metrics=["accuracy"])

#  Training model:
nb_epoch = 1
nb_train_samples = 2048
nb_validation_samples = 832

model.fit_generator(
        train_generator,
        samples_per_epoch=nb_train_samples,
        epochs=nb_epoch,
        validation_data=validation_generator,
        validation_steps=nb_validation_samples,
        steps_per_epoch=64)