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

ذخیره و بازیابی با استفاده از tensorflow

0 امتیاز

سلام دوستان 

دارم روی این برنامه کار می کنم می خوام بعد از قطع برنامه در دور بعدی اجرا ادامه پیدا کنه مثلا فرض کنید step زمان آموزش تا 1000 پیشرفته و برنامه رو قطع می کنیم و می خواهیم چند روز بعد ادامش از همون 1000 انجام بدیم دقیقا مثل سمپل های تنسورفلو. ممنون میشم یکی راهنمایی کنه چطور می تونم این کار انجام بدم قطعه کدهایی که برای ذخیره و بازیابی بود دیدم ولی نتونستم درستش کنم.

سوال شده تیر 22, 1398  بوسیله ی pilapila (امتیاز 232)   14 43 56

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
سلام. برای این کار، می‌توانید از مکانیزم ذخیره‌سازی و بازیابی مدل در TensorFlow استفاده کنید. در زیر یک نمونه کد برای این کار آورده شده است:
 
برای ذخیره‌سازی مدل در هر epoch یا step می‌توانید از کلاس `tf.train.Checkpoint` استفاده کنید:
 
import tensorflow as tf

model = ...  # مدل خود را اینجا تعریف کنید
optimizer = ...  # بهینه‌ساز خود را اینجا تعریف کنید

checkpoint = tf.train.Checkpoint(optimizer=optimizer, model=model)
manager = tf.train.CheckpointManager(checkpoint, './tf_ckpts', max_to_keep=3)

# در هر epoch یا step:
loss = ...  # محاسبه خطا
optimizer.minimize(loss, model.trainable_variables)
manager.save()  # ذخیره‌سازی مدل

 

 
برای بازیابی مدل از checkpoint آخر، می‌توانید از کد زیر استفاده کنید:
 
checkpoint.restore(manager.latest_checkpoint)
if manager.latest_checkpoint:
    print("Restored from {}".format(manager.latest_checkpoint))
else:
    print("Initializing from scratch.")

 

 
این کد مدل را از checkpoint آخر بازیابی می‌کند. اگر checkpoint وجود نداشته باشد، مدل را از ابتدا می‌سازد.
پاسخ داده شده خرداد 30, 1402 بوسیله ی farshid_siyah (امتیاز 1,463)   3 11 16
انتخاب شد شهریور 8, 1402 بوسیله ی مصطفی ساتکی
...