نسخه gpu از tensorflow را نصب کنید.
pip install tensorflow-gpu
Lxml,pillow,matplotlib را از طریق pip نصب کنید.
دانلود مخزن models از https://github.com/tensorflow/models
git clone --quiet https://github.com/tensorflow/models.git --progress --verbose
برای آموزش شناسایی آبجکت باید مخزن بالا را در روت تنسورفلو دریافت کنید یا اینکه مخزن را به صورت فایل .zip دریافت و در روت تنسورفلو بازش کنید پوشه اش را به نام models تغییر نام بدید.
کامپایل فایل های Proto
دانلود protoc از این آدرس https://github.com/google/protobuf/releases (protoc-3.5.1-win32.zip)
protoc.exe برنامه هستش که فایل proto را به کد تبدیل می کنه.
چون api شناسایی آبجکت تنسورفلو ازprotobuf جهت تنظیم مدل و پارامترهای آموزش استفاده میشه.قبل از اینکه فریم ورک بتونه کار کنه ما باید کل فایل های proto را که در پوشه protos در api شناسایی قرار دارند را با دستورات زیر کامپایل کنیم:
cd models\research
protoc object_detection/protos/*.proto --python_out=.
copy object_detection\packages\tf2\setup.py .
python -m pip install .
افزودن کتابخانه به PYTHINPATH :
مسیر tensorflow\models و tensorflow\models\research و مسیر tensorflow\models\research\slim را به PYTHONPATH اضافه کنید.
تست نصب صحیح :
python object_detection/builders/model_builder_test.py
تست نسخه 2:
python object_detection/builders/model_builder_tf2_test.py
پس از اجرا پیغام زیر را باید ببینید:
Ran 11 tests in 0.045s
OK
تنظیم پارامترهای آموزش شناسایی آبجکت:
Api شناسایی آبجکت تنسورفلو از فایل protobuf جهت تنظیم پارامترهای مربوط به train و evalution استفاده می کند شمای کلی این ساختار در فایل object_detection/protos/pipeline.proto ذکر شده است. در بالاترین سطح این فایل از 5 بخش زیر تشکیل شده است:
تنظیمات model : در این بخش ، نوع مدلی را مشخص می کنیم همان مدلی که قصد داریم آموزش بدیم.
train_config : در این بخش مشخص می کنیم کدام یک از پارامتر های آموزش را قصد داریم تغییر بدیم( پارامترهای SGD،پیش پردازش های ورودی و مقداردهی اولیه feature extractor)
eval_config : در این بخش مشخص می کنیم در خلال عملیات evalution چه متریکی های گزارش شود(PASCAL_VOC متریک)
train_input_config : در این بخش اطلاعات دیتاست جدید جهت آموزش را برای مدل مشخص می کنیم.
Eval_input_config : در این بخش اطلاعات دیتاست که برای evalution در نظر گرفته ایم را مشخص می کنیم این دیتاست باید متفاوت با دیتاست آموزش باشد.
ساختار کلی فایل config به شکل زیر است:
model {
(... تنظیم پارامترهای مدل...)
}
train_config : {
(... تنظیم پارامترهای آموزش ...)
}
train_input_reader: {
(... تنظیم پارامترهای دیتاست آموزش...)
}
eval_config: {
(... تنظیم پارامترهای متریک ارزیابی ...)
}
eval_input_reader: {
(... تنظیم دیتاست ارزیابی ...)
}