| [サイトマップへ] |
rykov ssd_keras を使ってみます. Keras 2, Python を使うのが前提です.
先人に感謝.
キーワード: rykov ssd_keras, Keras 2, Python, Windows インストール
前準備として,Python 開発環境のAnaconda のインストールが終わっていること. Windows では Chocholatey のインストールが終わっていること
Windows での 手順は、 「Windows で,隔離された Python 環境 + Keras + TensorFlow + OpenCV + spyder + Dlib 環境を作る(Anaconda を利用)」のページで説明しています.
以下,Windows での Anaconda をインストール済み, 隔離された Python 環境(名前は ai)に、Tensorflow, Keras, OpenCV, spyder をインストール済みであるものとして説明を続けます.
https://github.com/rykov8/ssd_keras
※ Windows での展開(解凍)のためのソフトは「7-Zip」をおすすめ.
この .zip ファイルは,E:\ssd_keras-master に展開(解凍)したものとして,説明を続けるので,適切に読み替えてください.
https://mega.nz/#F!7RowVLCL!q3cEVRK9jyOSB9el3SssIA
下の図のように
https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb
そのために, IPython シェルのコンソールで、Python 環境(名前は keras)を使う
Windows では、Anacondaに入っている開発環境 spyder を実行し,右下の ipython コンソールを使うのが簡単.
※ Windows で、あるPython 環境(名前は aiとする)の spyder を使いたいとき:
ssd.py というファイルがあるディレクトリに移動.
cd E:\ssd_keras-master\ssd_keras-master
次の Python プログラムを実行
※ https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [1]」に記載の通り.
import cv2 import keras from keras.applications.imagenet_utils import preprocess_input from keras.backend.tensorflow_backend import set_session from keras.models import Model from keras.preprocessing import image import matplotlib.pyplot as plt import numpy as np from scipy.misc import imread import tensorflow as tf from ssd import SSD300 from ssd_utils import BBoxUtility %matplotlib inline plt.rcParams['figure.figsize'] = (8, 8) plt.rcParams['image.interpolation'] = 'nearest' np.set_printoptions(suppress=True) config = tf.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.45 set_session(tf.Session(config=config))
次の Python プログラムを実行
※ https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [2]」に記載の通り.
voc_classes = ['Aeroplane', 'Bicycle', 'Bird', 'Boat', 'Bottle',
'Bus', 'Car', 'Cat', 'Chair', 'Cow', 'Diningtable',
'Dog', 'Horse','Motorbike', 'Person', 'Pottedplant',
'Sheep', 'Sofa', 'Train', 'Tvmonitor']
NUM_CLASSES = len(voc_classes) + 1
次の Python プログラムを実行
※ https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [3]」に記載の通り.
input_shape=(300, 300, 3)
model = SSD300(input_shape, num_classes=NUM_CLASSES)
model.load_weights('weights_SSD300.hdf5', by_name=True)
bbox_util = BBoxUtility(NUM_CLASSES)
次の Python プログラムを実行
※ https://github.com/rykov8/ssd_keras/blob/master/SSD.ipynb の「in [1]」に記載の通り.
書きかけ