# -*- coding: utf-8 -*- #!/usr/bin/env python import sys import numpy as np import six import cv2 import os import chainer import chainer.functions as F import chainer.serializers from chainer import serializers from chainer import optimizers from modeling2 import model2 model = model2() #モデルが置いてあるディレクトリを指定 serializers.load_hdf5('', model) def forward(x_data): x = chainer.Variable(x_data, volatile=False) h = F.max_pooling_2d(F.relu(model.conv1(x)), ksize = 5, stride = 2, pad =2) h = F.max_pooling_2d(F.relu(model.conv2(h)), ksize = 5, stride = 2, pad =2) h = F.dropout(F.relu(model.l1(h)), train=False) y = model.l2(h) return y for i in range(1,21): #データセットが置いてあるディレクトリを指定 image = cv2.imread(""+str(i)+".jpg") image2 = [] image2.append(image) image2 = np.array(image).astype(np.float32).reshape((len(image2),3, 64, 64)) / 255 result = forward(image2) classNum = np.argmax(result.data) print("この画像は {} 階の画像です。".format(classNum))