یک SavedModel را در Tensorflow صادر کنید

موسسه پایا پروژه به عنوان متصدی انجام پروژه های پایتون وظیفه ی خود می داند که در راستای آموزش نرم افزار پایتون در زمینه  Tensorflow گام های موثری را بردارد. با توجه به اینکه یک دوره آموزشی پایتون مستلزم تمرین و تلاش بسیار است. اما این موسسه تلاش می کند سهم کوچکی در جهت یادگیری شما داشته باشد.

آموزش savedmodel در tensorflow

 

در TensorFlow ، SavedModel اساسا یک قالب سریالی برای ذخیره یک برنامه کامل TensorFlow است. تابع tf.saved_model.save() در TensorFlow می تواند برای صادرات SavedModel استفاده شود. یک مدل آموزش دیده و متغیرهای مربوط به آن توسط این تابع در دیسک با فرمت SavedModel در انجام پروژه پایتون ذخیره می شوند. این شامل وزن ها و نمودارهای محاسباتی است. این مدل می تواند برای استقرار مدل ها برای استنتاج، انتقال یادگیری یا اهداف دیگر استفاده شود.

در اینجا مراحل زیر برای صادرات SavedModel در TensorFlow وجود دارد:

اکنون می توانیم نمونه ای از صادرات یک مدل رگرسیون Softmax در TensorFlow را مثال بزنیم:

1. مدل رگرسیون Softmax

یک مدل رگرسیون Softmax ایجاد کنید و آن را با استفاده از مجموعه داده MNIST آموزش دهید.

 

 Import the necessary libraries#

import tensorflow as tf

  

 Load MNIST dataset#

mnist = tf.keras.datasets.mnist

  

 Normalize the data#

x_train, x_test = x_train / 255.0, x_test / 255.0

  

 Define the Softmax Regression model#

 ]) model = tf.keras.models.Sequential

  tf.keras.layers.Flatten(input_shape=(28, 28)),

  tf.keras.layers.Dense(10, activation=’softmax’)

([

  

 Compile the model#

,’model.compile(optimizer=’adam

              ,’loss=’sparse_categorical_crossentropy              

              metrics=[‘accuracy’])             

  

 Train the model#

model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test))

 خروجی :

2.ارزیابی دقت مدل:

ارزیابی دقت مدل انجام پروژه پایتون

loss, accuracy =  model.evaluate(x_test, y_test)

print(‘The accuracy of the model is :’,accuracy)

 

 

خروجی:

 

3.ذخیره مدل در پروژه پایتون

مدل را با استفاده از تابع tf.saved_model.save ذخیره کنید.

 

 Save the model#

tf.saved_model.save(model, ‘softmax_regression_model’)

 

 

4.اطمینان ذخیره موفق

با بررسی محتویات پوشه SavedModel اطمینان حاصل کنید که مدل با موفقیت ذخیره شده است.

 

 Inspect the contents of the SavedModel directory#

!ls softmax_regression_model

 خروجی:

 

assets    fingerprint.pb    saved_model.pb    variables

 

فایل saved_model.pb شامل نمودار محاسباتی و پوشه متغیرها شامل وزن های آموزش دیده مدل است.

 

5.اضافه کردن شماره‌های نسخه به فهرست SavedModel

 به صورت اختیاری، می‌توانید شماره‌های نسخه را به فهرست SavedModel اضافه کنید تا نسخه‌های مختلف مدل را پیگیری کنید.

 Save the model with version number#

tf.saved_model.save(model, ‘softmax_regression_model/1’)

 

6.بررسی کنید که مدل نسخه شده با موفقیت ذخیره شده است.

 

 Inspect the contents of the SavedModel directory with version number#

!ls softmax_regression_model/1

خروجی:

assets    fingerprint.pb    saved_model.pb    variables

محتویات دایرکتوری نسخه شده مانند دایرکتوری اصلی است.

 

7.بارگزاری مدل با استفاده از هاب TensorFlow

 

بیایید مدل را با استفاده از هاب TensorFlow بارگذاری کنیم

 import the necessary libraries#

import tensorflow_hub as hub

import numpy as np

  

Load the model#

layer = hub.KerasLayer(“softmax_regression_model/”)

  

 create custom input#

Input = np.linspace(0,1,784).reshape(28,28)

Input = tf.expand_dims(Input, axis=0)

  

print(layer(Input)) 

layer.trainable = True

print(layer.trainable_weights)

 

در اینجا برخی از روش های مختلف مربوط به صادرات SavedModel در TensorFlow آورده شده است:

  • صادرات SavedModel با امضاهای سفارشی: شما می توانید مستقیماً امضاهای سفارشی را برای SavedModel خود تعیین کنید که می تواند ورودی ها و خروجی های مدل را تعریف کند. این می تواند برای ارائه مدل با استفاده از رابط های مختلف مانند REST API مفید باشد.
  • صادرات SavedModel برای سرویس TensorFlow: سرویس TensorFlow اساساً سیستمی برای ارائه مدل های یادگیری ماشین در محیط های تولیدی است. برای صادر کردن یک مدل برای سرویس TensorFlow، ابتدا باید یک امضای serving_default اضافه کنید که بتواند ورودی ها و خروجی های مدل را مشخص کند.
  • صادر کردن SavedModel برای TensorFlow Lite  : TensorFlow Lite چارچوبی است که برای استقرار یادگیری ماشین استفاده می شود.

منابع:

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این زمینه را پر کنید
این زمینه را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

نوزده − ده =

سفارش پروژه