| [サイトマップへ] |
|
|
金子邦彦研究室: データベース、人工知能(AI)、データサイエンスの融合により不可能を可能にする |
ユースケース:Python で人工知能、データサイエンス、コンピュータビジョンを行いたい.顔検出や顔識別も行いたい .
※ Ubuntu で Python 処理系のインストール + TensorFlow, Keras, OpenCVを整えたいときは、このWebページのはじめから「TensorFlow, Keras, OpenCV のインストール」までを行う。 顔検出や顔識別で Dlib を使いたいときは、最後まで行う。
※ Windows を使いたいときは、 別のページで説明しています。
目次
サイト内の関連 Web ページ:
次のコマンドを実行.
sudo apt update sudo apt -yV upgrade sudo apt -yV dist-upgrade sudo apt -yV autoremove sudo apt autoclean sudo shutdown -r now
sudo apt -yV install python3-dev python3-pip python-dev python-pip
cd /tmp sudo rm -f get-pip.py wget https://bootstrap.pypa.io/get-pip.py sudo rm -rf ~/.cache/pip mkdir ~/.cache/pip sudo python3 get-pip.py sudo python get-pip.py sudo pip3 install --ignore-installed --upgrade virtualenvwrapper sudo pip install --ignore-installed --upgrade virtualenvwrapper
※ エラーメッセージが出ないことを確認.
pip3 list pip list
sudo pip install -U virtualenv virtualenvwrapper sudo pip3 install -U virtualenv virtualenvwrapper
エラーメッセージが出ていないことを確認
export WORKON_HOME=$HOME/.virtualenvs export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 source /usr/local/bin/virtualenvwrapper.sh touch ~/.profile echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile source ~/.profile
virtualenvwrapper の使い方
※ Python 仮想環境を新規作成し、そこにインストールしたいときに限る
source /usr/local/bin/virtualenvwrapper.sh mkvirtualenv --python=/usr/bin/python3 ai lsvirtualenv workon ai
sudo pip3 install -U numpy scipy h5py scikit-learn scikit-image matplotlib seaborn pandas pillow sudo pip3 install -U jupyter pytest docopt pyyaml cython
※ Python 仮想環境を有効化したいときに限る
source /usr/local/bin/virtualenvwrapper.sh workon ai
時間がかかるので待つ
※ 「pip3 install」は、パッケージをインストールするためのコマンド
sudo pip3 install -U tensorflow keras opencv-python
※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある
python3 -c "import numpy; print( numpy.__version__ )"
※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある
python3 -c "import tensorflow as tf; print( tf.__version__ )"
※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある
python3 -c "import keras; print( keras.__version__ )"
pip3 list
※ Python 仮想環境にインストールしたときに限る
source /usr/local/bin/virtualenvwrapper.sh workon ai
sudo pip3 install -U h5py pillow
478.png のようなファイル名で保存しておく
cd <画像を置いたディレクトリ> python
VGG を使うプログラム。Kerasのサイトで公開されているものを少し書き換えて使用。
import h5py from keras.preprocessing import image from keras.applications.vgg16 import VGG16 from keras.applications.vgg16 import preprocess_input import numpy as np m = VGG16(weights='imagenet', include_top=False) img_path = '478.png' img = image.load_img(img_path, target_size=(299, 299)) x = image.img_to_array(img) x = np.expand_dims(x, axis=0) x = preprocess_input(x) features = m.predict(x) print(features)
InceptionV3 を使うプログラム。Kerasのサイトで公開されているものを少し書き換えて使用。
import h5py
from keras.preprocessing import image
from keras.applications.inception_v3 import preprocess_input, decode_predictions, InceptionV3
import numpy as np
m = InceptionV3(weights='imagenet')
img_path = '478.png'
img = image.load_img(img_path, target_size=(299, 299))
x = image.img_to_array(img)
x = np.expand_dims(x, axis=0)
x = preprocess_input(x)
preds = m.predict(x)
print('Predicted:')
for p in decode_predictions(preds, top=5)[0]:
print("Score {}, Label {}".format(p[2], p[1]))
sudo apt -yV install git sudo apt -yV install cmake sudo apt -yV install wget sudo apt -yV install p7zip
※ Python 仮想環境を有効化したいときに限る
source /usr/local/bin/virtualenvwrapper.sh workon ai
※ mtcnn については https://github.com/open-face/mtcnn
sudo mkdir /usr/local/pytools cd /usr/local/pytools sudo rm -rf imutils sudo rm -rf mtcnn
cd /usr/local/pytools sudo git clone https://github.com/jrosebr1/imutils cd imutils sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/ipazc/mtcnn cd mtcnn sudo python3 setup.py build sudo python3 setup.py install
python -c "import imutils; print( imutils.__version__ )"
※ バージョン番号が表示されれば OK.下の図とは違うバージョンが表示されることがある
python -c "import mtcnn; print( mtcnn.__version__ )"
sudo mkdir /usr/local/pytools cd /usr/local/pytools sudo rm -rf folium sudo rm -rf python-overpy sudo rm -rf exif-py sudo rm -rf haversine
cd /usr/local/pytools sudo git clone https://github.com/python-visualization/folium cd folium sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/DinoTools/python-overpy cd python-overpy sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/ianare/exif-py cd exif-py sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/mapado/haversine cd haversine sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/Turbo87/utm cd utm sudo python3 setup.py build sudo python3 setup.py install
※ 下から必要なものを選んでインストール
sudo pip3 install -U chainer sudo pip3 install -U graphviz sudo pip3 install -U pydot sudo pip3 install -U yaml sudo pip3 install -U flask sudo pip3 install -U django sudo pip3 install -U sympy sudo pip3 install -U sqlite sudo pip3 install -U redis sudo pip3 install -U gensim sudo pip3 install -U pylint sudo pip3 install -U bz2file
sudo apt install openblas-dev
※ Python 仮想環境を有効化したいときに限る
source /usr/local/bin/virtualenvwrapper.sh workon ai
sudo mkdir /usr/local/pytools cd /usr/local/pytools sudo rm -rf dlib
cd /usr/local/pytools sudo git clone https://github.com/davisking/dlib cd dlib sudo python3 setup.py build sudo python3 setup.py install
※ Python 仮想環境を有効化したいときに限る
source /usr/local/bin/virtualenvwrapper.sh workon ai
sudo mkdir /usr/local/pytools cd /usr/local/pytools sudo rm -rf face_recognition sudo rm -rf msgpack sudo rm -rf geopandas
cd /usr/local/pytools sudo git clone https://github.com/ageitgey/face_recognition cd face_recognition sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/msgpack/msgpack-python cd msgpack-python sudo python3 setup.py build sudo python3 setup.py install cd /usr/local/pytools sudo git clone https://github.com/geopandas/geopandas cd geopandas sudo python3 setup.py build sudo python3 setup.py install
which python3 python3 --version
Ubuntu 18.04 での実行結果の例
名前: py36
使用する Python: python3
source /usr/local/bin/virtualenvwrapper.sh mkvirtualenv --python=/usr/bin/python3 py36
lsvirtualenv
「py36」という新しい Python 環境が作成されたことが分かる
新しく端末を開き、次のコマンドを実行.
「workon py36」は、py36 の Python 環境の使用を開始するためのコマンド. エラーメッセージが出なければ OK.
source /usr/local/bin/virtualenvwrapper.sh workon py36 which python which pip
source /usr/local/bin/virtualenvwrapper.sh workon py36 python print(1 + 2) exit()
which python python --version
Ubuntu 18.04 での実行結果の例
source /usr/local/bin/virtualenvwrapper.sh mkvirtualenv --python=/usr/bin/python py27
lsvirtualenv
「py27」という新しい Python 環境が作成されたことが分かる
新しく端末を開き、次のコマンドを実行.
「workon py27」は、py27 の Python 環境の使用を開始するためのコマンド. エラーメッセージが出なければ OK.
source /usr/local/bin/virtualenvwrapper.sh workon py27 which python which pip
source /usr/local/bin/virtualenvwrapper.sh workon py27 python print(1 + 2) exit()
ls ~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh workon py36 which pip which easy_install
source /usr/local/bin/virtualenvwrapper.sh workon py27 which pip which easy_install
source /usr/local/bin/virtualenvwrapper.sh workon py36 pip list
source /usr/local/bin/virtualenvwrapper.sh workon py27 pip list
https://github.com/spyder-ide/spyder に記載の手順に従う
※ Python 仮想環境を有効化したいときに限る
source /usr/local/bin/virtualenvwrapper.sh workon ai
sudo pip3 install -U PyQT5 sudo pip3 install -U git+https://github.com/spyder-ide/spyder-kernels sudo pip3 install -U git+https://github.com/spyder-ide/qtpy cd /tmp sudo git clone https://github.com/spyder-ide/spyder.git cd spyder git pull python bootstrap.py sudo python3 setup.py install
「spyder3」で、試しに起動してみる.
sudo apt -yV install swig
http://www.swig.org/Doc1.3/Python.html#Python_nn6 に記載のサンプルプログラム
%module example
%{
#define SWIG_FILE_WITH_INIT
#include "example.h"
%}
int fact(int n);
#include "example.h"
int fact(int n) {
if (n < 0){ /* This should probably return an error, but this is simpler */
return 0;
}
if (n == 0) {
return 1;
}
else {
/* testing for overflow would be a good idea here */
return n * fact(n-1);
}
}
int fact(int n);
#!/usr/bin/env python
"""
setup.py file for SWIG example
"""
from distutils.core import setup, Extension
example_module = Extension('_example',
sources=['example_wrap.c', 'example.c'],
)
setup (name = 'example',
version = '0.1',
author = "SWIG Docs",
description = """Simple swig example from docs""",
ext_modules = [example_module],
py_modules = ["example"],
)
端末で次のように操作
source /usr/local/bin/virtualenvwrapper.sh workon py36 swig -python example.i sudo python3 setup.py build_ext --inplace ls -la example.* build
import example example.fact(4) exit()