Raspbian StretchにBazelをインストール(Tensorflow利用時に使用)

RaspberryPiでTensorflowを使いたいという案件があり、そのために。 最新版の Raspberry Pi3 B+ 関連パッケージインストール sudo apt-get install pkg-config zip g++ zlib1g-dev unzip echo “deb https://ppa.launchpad.net/webupd8team/java/ubuntu xenial main” | tee /etc/apt/sources.list.d/webupd8team-java.list echo “deb-src https://ppa.launchpad.net/webupd8team/java/ubuntu xenial main” | tee -a /etc/apt/sources.list.d/webupd8team-java.list sudo apt-get update sudo apt-get install oracle-java8-installer Bazelインストール wget https://github.com/bazelbuild/bazel/releases/download/0.5.3/bazel-0.5.3-dist.zip unzip -d bazel bazel-0.5.3-dist.zip cd bazel vi scripts/bootstrap/compile.sh //中略:124行目// -encoding UTF-8 “@${paramfile}” -J-Xmx500M vi src/BUILD // 182行目 “//src/java_tools/singlejar:SingleJar_deploy.jar”, ./compile.sh

OpenCV + YOLOv3で物体検出を行う

どうも。帰ってきたOpenCVおじさんだよー。 そもそもYOLOv3って? YOLO(You Look Only Onse)という物体検出のアルゴリズムで、画像を一度CNNに通すことで物体の種類が何かを検出してくれるもの、らしい。 使い方(ほぼ独自のため、正しいかとても怪しい……) 環境構築 事前にTensorflowなりKerasなりOpenCVなりをインストールしておく。Pyenvなどの方法は割愛。わからなければこちらをみて。 python -m venv ~/.venv/yolo source ~/.venv/yolo/bin/activate pip install –upgrade pip pip install tensorflow pip instsall keras pip install opencv-python pip install pillow yolo.h5ファイルの作成 理解はあとにしておくことにして、yolo.weightsという学習データをyolo.h5というファイルに変換する必要がある。その方法は次の通り。 git clone https://github.com/xiaochus/YOLOv3 cd YOLOv3 python yad2k.py cfg/yolo.cfg yolov3.weights data/yolo.h5 とりあえずdemo.pyを実行してみる demo.pyを実行すると、次のような結果が出た python demo.py ブログには書いていないのだけれど、実のところYOLOv2も使っていて、それよりも精度が上がっている模様。 ただ、動作がだいぶ重く感じる。 オリジナルでカメラからキャプチャーしてみた。 OpenCVでカメラから取り出した画像を物体検出してみた。ソースコードは以下の通り。 “””Demo for use yolo v3 “”” import os import time import argparse import datetime import cv2 import numpy as np from PIL import Image from keras.models import load_model from model.yolo_model import YOLO IMAGE_DIR = os.path.dirname(os.path.abspath(__file__)) + “/images/output/” def process_image(img): “””Resize, reduce and expand image. # Argument: img: original image. # Returns image: ndarray(64, 64, 3), processed image. “”” image…

Tensorflow Python3.5系に対応したので、Pyvenv環境にインストール

前と手順は同じだけど、前はPython3.4系のみだったので。 [amazonjs asin=”B018K6C99A” locale=”JP” title=”深層学習 (機械学習プロフェッショナルシリーズ)”]   前提 Macにpyenvをインストール   インストール手順 [shell] pyenv versions system 2.7.6 * 3.5.1 (set by /Users/umentu/.python-version) anaconda3-2.3.0 anaconda3-2.4.1 pyenv global 3.5.1 pyenv local 3.5.1 pyvenv ~/.machine_learning source ~/.machine_learning/ source ~/.machine_learning/bin/activate pip install –upgrade pip pip install numpy scipy ipython[notebook] matplotlib pip install –upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.6.0-py3-none-any.whl [/shell]   確認 [shell] In [1]: import tensorflow as tf In [2]: a = tf.constant(10) In [3]: b = tf.constant(20) In [4]: sess = tf.Session() I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op parallelism threads: 4 I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op parallelism threads: 4 In [5]: print(sess.run(a + b)) 30 [/shell]

MacにAnaconda3(Python3.4)+Tensorflowをインストール

手順まとめ [amazonjs asin=”4774176982″ locale=”JP” title=”ITエンジニアのための機械学習理論入門”]   前提 Macにpyenvをインストール   Anaconda3-2.3.0をインストール 執筆現在で、TensorflowはPython3系の場合、Python3.4にしか対応していないため、Python3.4を使用している少し古いAnaconda3-2.3.0をインストールする。 [shell] pyenv install anaconda3-2.3.0 pyenv local anaconda3-2.3.0 pyenv global anaconda3-2.3.0 [/shell]   Anacondaをアップデートする Linux の時のように [shell] conda update [/shell] だとアップデートできなかったため、以下のようにアップデート。 [shell] conda update –prefix /Users/umentu/.pyenv/versions/anaconda3-2.3.0 anaconda conda update anaconda conda update –all [/shell] また、tensorflowを呼び出した際にnumpyのバージョンが足りないと怒られたため、numpyをpipでアップデートする。 [shell] pip install –upgrade numpy pip freeze|grep numpy numpy==1.10.4 [/shell]   Tensorflowをインストールする pipでtensorflowをインストールする。 [shell] pip install https://storage.googleapis.com/tensorflow/mac/tensorflow-0.6.0-py3-none-any.whl [/shell]   Tensorflowを実行してみる。 ipythonを起動して、tensorflowを呼び出してみる。 [shell] In [1]: import tensorflow as tf In [2]: a = tf.constant(10) In [3]: b = tf.constant(32) In [4]: sess = tf.Session() I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op parallelism threads: 4 I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op parallelism threads: 4 In [5]: print(sess.run(a +…

CentOS7 Anaconda3-2.3.0(Python3.4系)でTensorflowをインストール

TensorflowがPython3.4系に対応していたので。 [amazonjs asin=”4061529021″ locale=”JP” title=”深層学習 (機械学習プロフェッショナルシリーズ)”]   前提 CentOS7 pyenvをホームディレクトリにインストール   Anaconda3-2.3.0をインストール [shell] pyenv install anaconda3-2.3.0 pyenv local anaconda3-2.3.0 pyenv global anaconda3-2.3.0 [/shell]   condaでライブラリをアップデート [shell] conda update conda conda update anaconda conda update –all [/shell]   Tensorflowをインストール   CPUを利用する場合 [shell] pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.6.0-cp34-none-linux_x86_64.whl [/shell]   GPUを利用する場合 [shell] pip install https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.6.0-cp34-none-linux_x86_64.whl [/shell]   インストールを確認 [shell] python -c ‘import site; print(" ".join(site.getsitepackages()))’ /home/centos/.pyenv/versions/anaconda3-2.3.0/lib/python3.4/site-packages /home/centos/.pyenv/versions/anaconda3-2.3.0/lib/site-python [/shell] [shell] ipython In [1]: import tensorflow as tf In [2]: a = tf.constant(10) In [3]: b = tf.constant(32) In [4]: sess = tf.Session() I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op parallelism threads: 4 I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op parallelism threads: 4 In [5]: print(sess.run(a + b))…