tensorFlowでtf-pose-estimation

前回の続き。
https://note.mu/uneori/n/n235413efee46
anacondaのtensorFlow-gpu環境で行う。

2020/06/10追記)再度動かしたらエラー出たりしたので修正
バージョンは以下
windows10
python3.6
tensorflow-gpu 1.14
cudatoolkit 10.0.130
cudnn 7.6.5
git bash

(もししてなかったら) Git For Windowsをインストール
https://gitforwindows.org

openPoseをクローン

git clone https://github.com/ildoonet/tf-pose-estimation.git

追記)2020/6/10 condaからパッケージをinstall
swig
opencv
あとcythonも

画像1

画像2

tf-pose-estimationへ移動して必要なものをインストール

追記2020/06/10
そのままやるとエラーが出てしまうので事前にpycocotoolを以下で先に入れてしまう

pip install "git+https://github.com/philferriere/cocoapi.git#egg=pycocotools&subdirectory=PythonAPI"

そのあとでrequirements.txtからインストール

cd ./tf-pose-estimation

pip install -r requirements.txt

エラー ERROR: tf-pose 0.1.1 has requirement dill==0.2.7.1, but you'll have dill 0.3.1.1 which is incompatible.
anacondaからdillをインストールしてバージョンを0.2.7.1に変更した。

ERROR: tf-pose 0.1.1 has requirement dill==0.2.7.1, but you'll have dill 0.3.1.1 which is incompatible.

tf_pose/parfprocessに移動してC++ライブラリのビルド

cd tf_pose/pafprocess

swig -python -c++ pafprocess.i && python setup.py build_ext --inplace

tf-pose-estimationへもどり、インストール

python setup.py install

models/graph/cmu に移動して、modelをダウンロードする

cd models/graph/cmu

bash download.sh

準備完了!

動かしてみる

2020/6/10追記)そのままだとエラーが出た。

ModuleNotFoundError: No module named 'tensorflow.python.compiler.tensorrt'

tensorRTがないとのこと、windowsでは使えないらしいのでコメントアウトする。estimator.py内の2か所(L14とL315-L330)

 #from  tensorflow.python.compiler.tensorrt import trt
        """
       if trt_bool is True:
           output_nodes = ["Openpose/concat_stage7"]
           graph_def = trt.create_inference_graph(
               graph_def,
               output_nodes,
               max_batch_size=1,
               max_workspace_size_bytes=1 << 20,
               precision_mode="FP16",
               # precision_mode="INT8",
               minimum_segment_size=3,
               is_dynamic_op=True,
               maximum_cached_engines=int(1e3),
               use_calibration=True,
           )
       """

でおk

エラーcuDNN failed to initialize
RTX2060でエラー、deeplabの時と同じ現象と思われる。
以下のコードを先頭tensorflowのimport下に追加して解決した。

import tensorflow as tf

######## RTX GPU######################################
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession

config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
######################################################

webcamから

python run_webcam.py

画像から (modelやサイズも指定可能)

ython run.py --model=mobilenet_thin --resize=500x750 --image=./images/apink1.jpg

この記事が気に入ったらサポートをしてみませんか?