لود مدل آموزش داده شده تنسورفلو با Opencv - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

لود مدل آموزش داده شده تنسورفلو با Opencv

0 امتیاز
سلام.

من شبکه ای را با alexnet آموزش دادم و فایل های .chkp مربوط به پروسه ترین ساخته شده.چه کارهای دیگری باید انجام داد تا مدل tensforflow را بتونم با Opencv لود کنم؟
سوال شده فروردین 18, 1397  بوسیله ی SAFIR (امتیاز 79)   2 16 19

1 پاسخ

+1 امتیاز
 
بهترین پاسخ

سلام.

در ابتدا گراف مورد نظر را به صورت زیر ذخیره کنید.

tf.train.write_graph(sess.graph.as_graph_def(), r'c:\temp','graph.pbtxt')

از آنجایی که اطلاع دارید فایل .chkp فایل است که متغیرهای مدل (وزن ها و بایاس ها) را در خود نگهداری می کند برای استفاده در opencv باید فایل graph.pbtxt و فایل model.chkp را freeze یا ادغام کنیم.برای اینکار از اسکریپت زیر استفاده کنید.

*نکته* : هم در مسیر روت تنسورفلو بروید و بعد این فرمان را اجرا کنید و گرنه ممکنه خطاهای در رابطه با protobuf دریافت کنید.

python ~/tensorflow/tensorflow/python/tools/freeze_graph.py \
  --input_graph=graph.pb \
  --input_checkpoint=tmp.ckpt \
  --output_graph=frozen_graph.pb \
  --output_node_names="NameOfOutputNode"

در نهایت فایل frozen_graph.pb را در opencv استفاده کنید.

از این جهت نام نود خروجی از شما دریافت می شوذ که فقط برنچی که مربوط به deply هست نگهداری شود و بقیه موارد حذف شود.به طور مثال مسیر های که در حین آموزش استفاده می شود.

پاسخ داده شده فروردین 28, 1397 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
ویرایش شده آذر 28, 1397 بوسیله ی مصطفی ساتکی
...