۱- از اینجا کتابخانه OpenVINO را دانلود کنید. به نظرم کل پکیج را دانلود کنید .
۲- فایلی را که دانلود کردید پسوندش را به zib تغییر داده و فایل را extract کنید.
ساختار فلدر ها باید به صورت زیر باشه.
bin
deployment_tools
documentation
inference_engine
licensing
opencv
openvx
python
۳- cmd را با مجوز admin باز کنید و به مسیر زیر بروید.
deployment_tools\inference_engine\samples
۴-برای make هم می تونید از فایل bat استفاده کنید به طور مثال create_msvc2017_solution.bat با اجرای این فایل کل پروژه ها تحت کامپایلر مورد نظر شما ساخته میشه برای تعیین مسیر هم فایل bat مورد نظر را باز کنید و متغییر SOLUTION_DIR64 را با مسیر دلخواه ست کنید.
۵- حالا ویژوال استودیو را باز کنید و پروژه مورد نظر خود را بیلد کنید.
۶- در کتابخانه OpenVINO هر مدل شامل دو فایل .xml و .bin است که برای اجرای مثال ها باید با فلگ -m مسیر فایل .xml مورد نظر را معرفی کنیم.
تا اینجا تونستیم مثل های خود OpenVINO را اجرا کنیم حال نوبت میرسه به بهینه سازی مدل خودمون فرض می کنیم فریم ورک تنسورفلو باشه.
۷- به مسیر زیر رفته و فایل install_prerequisites_tf.bat را اجرا کنید.
deployment_tools\model_optimizer\install_prerequisites
اگر آخرین نسخه تنسورفلو نصب کرده باشید فقط کتابخانه network را نصب میشه و عملیات نصب به پایان میرسه و گرنه باید تنسورفلو را نصب کنه شروع می کنه به دانلود کتابخانه (فقط کتابخانه caffe نیاز به نصب نداره آن هم به شرطی که لایه های سفارشی استفاده کرده نکرده باشید)
۸-در این مرحله قصد دارم یک نسخه از protobuf که داخل خود کتابخانه هست را نصب کنیم چون خیلی سریع از تر از نسخه معمولیه برای این کار با توجه به نسخه پایتون مورد نظر فایل protobuf-3.5.1-py*-win-amd64.egg را نصب کنید.
pip install protobuf-3.5.1-py3.6-win-amd64.egg
۱۰- مدل مدنظر شما باید freeze شده باشد به توجه به این پست مدل را فریز کنید.
۹- حالا به مسیر زیر برید.
deployment_tools\model_optimizer
وبا استفاده از فایل mo_tf.py مدل مورد نظر خودتون را بهینه سازی کنید.
به طور مثال من ssd v2 را برای شما توضیح میدم مدل مورد نظر خودتون را با توجه به همین مثال انجام بدید.
۱۰- از اینجا مدل ssd_mobilenet_v2_coco را دانلود کنید در این فایل هم فایل مدل فریز شده با پسوند .pb و هم فایل های checkpoint و هم فایل کانفیگ به نام pipeline.config وجود دارد که در این مثال استفاده می کنیم.فایل مورد نظر را در مسیر مورد نظر خودتون extract کنید.
۱۱-در مسیر زیر فایل کانفیگ مربوط به OpenVINO مخصوص مدل خود را پیدا کنید.(برای مثال ما ssd_v2_support.josn است)
deployment_tools\model_optimizer\extensions\front\tf
۱۲- حال جهت بهینه سازی کد mo_tf.py را با پارامترهای زیر اجرا کنید.
python mo_tf.py --input_model=frozen_inference_graph.pb --tensorflow_use_custom_operations_config=ssd_v2_support.json --tensorflow_object_detection_api_pipeline_config pipeline.config --reverse_input_channels --output_dir /my_optmize_path