Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
TensorFlow Melayani
TensorFlow Melayani
tensorflow-serving-api
Ini sudah diinstal sebelumnya dengan Deep Learning AMI dengan Conda! Anda akan menemukan contoh skrip untuk melatih, mengekspor, dan melayani MNIST model. ~/examples/tensorflow-serving/
Untuk menjalankan salah satu contoh ini, pertama-tama hubungkan ke Deep Learning Anda AMI dengan Conda dan aktifkan TensorFlow lingkungan.
$
source activate tensorflow2_p310
Sekarang ubah direktori ke folder skrip contoh penyajian.
$
cd ~/examples/tensorflow-serving/
Melayani Model Inception yang Terlatih
Berikut ini adalah contoh yang dapat Anda coba untuk melayani model yang berbeda seperti Inception. Sebagai aturan umum, Anda memerlukan model servable dan skrip klien untuk sudah diunduh ke Anda. DLAMI
Melayani dan Menguji Inferensi dengan Model Inception
-
Unduh modelnya.
$
curl -O https://s3-us-west-2.amazonaws.com/tf-test-models/INCEPTION.zip -
Untar modelnya.
$
unzip INCEPTION.zip -
Unduh gambar husky.
$
curl -O https://upload.wikimedia.org/wikipedia/commons/b/b5/Siberian_Husky_bi-eyed_Flickr.jpg -
Luncurkan server. Perhatikan, bahwa untuk Amazon Linux, Anda harus mengubah direktori yang digunakan untuk
model_base_path
, dari/home/ubuntu
ke/home/ec2-user
.$
tensorflow_model_server --model_name=INCEPTION --model_base_path=/home/ubuntu/examples/tensorflow-serving/INCEPTION/INCEPTION --port=9000 -
Dengan server berjalan di latar depan, Anda perlu meluncurkan sesi terminal lain untuk melanjutkan. Buka terminal baru dan aktifkan TensorFlow dengan
source activate tensorflow2_p310
. Kemudian gunakan editor teks pilihan Anda untuk membuat skrip yang memiliki konten berikut. Namai ituinception_client.py
. Skrip ini akan mengambil nama file gambar sebagai parameter, dan mendapatkan hasil prediksi dari model yang telah dilatih sebelumnya.from __future__ import print_function import grpc import tensorflow as tf import argparse from tensorflow_serving.apis import predict_pb2 from tensorflow_serving.apis import prediction_service_pb2_grpc parser = argparse.ArgumentParser( description='TF Serving Test', formatter_class=argparse.ArgumentDefaultsHelpFormatter ) parser.add_argument('--server_address', default='localhost:9000', help='Tenforflow Model Server Address') parser.add_argument('--image', default='Siberian_Husky_bi-eyed_Flickr.jpg', help='Path to the image') args = parser.parse_args() def main(): channel = grpc.insecure_channel(args.server_address) stub = prediction_service_pb2_grpc.PredictionServiceStub(channel) # Send request with open(args.image, 'rb') as f: # See prediction_service.proto for gRPC request/response details. request = predict_pb2.PredictRequest() request.model_spec.name = 'INCEPTION' request.model_spec.signature_name = 'predict_images' input_name = 'images' input_shape = [1] input_data = f.read() request.inputs[input_name].CopyFrom( tf.make_tensor_proto(input_data, shape=input_shape)) result = stub.Predict(request, 10.0) # 10 secs timeout print(result) print("Inception Client Passed") if __name__ == '__main__': main()
-
Sekarang jalankan skrip melewati lokasi server dan port dan nama file foto husky sebagai parameter.
$
python3 inception_client.py --server=localhost:9000 --image Siberian_Husky_bi-eyed_Flickr.jpg
Melatih dan Melayani MNIST Model
Untuk tutorial ini kita akan mengekspor model kemudian menyajikannya dengan tensorflow_model_server
aplikasi. Akhirnya, Anda dapat menguji server model dengan contoh skrip klien.
Jalankan skrip yang akan melatih dan mengekspor MNIST model. Sebagai satu-satunya argumen skrip, Anda perlu menyediakan lokasi folder untuk menyimpan model. Untuk saat ini kita bisa memasukkannyamnist_model
. Script akan membuat folder untuk Anda.
$
python mnist_saved_model.py /tmp/mnist_model
Bersabarlah, karena skrip ini mungkin memakan waktu beberapa saat sebelum memberikan output apa pun. Ketika pelatihan selesai dan model akhirnya diekspor, Anda akan melihat yang berikut:
Done training! Exporting trained model to mnist_model/1 Done exporting!
Langkah Anda selanjutnya adalah menjalankan tensorflow_model_server
untuk melayani model yang diekspor.
$
tensorflow_model_server --port=9000 --model_name=mnist --model_base_path=/tmp/mnist_model
Skrip klien disediakan bagi Anda untuk menguji server.
Untuk mengujinya, Anda harus membuka jendela terminal baru.
$
python mnist_client.py --num_tests=1000 --server=localhost:9000
Lebih Banyak Fitur dan Contoh
Jika Anda tertarik untuk mempelajari lebih lanjut tentang TensorFlow Melayani, lihat TensorFlow situs webnya
Anda juga dapat menggunakan TensorFlow Serving dengan Amazon Elastic Inference. Lihat panduan tentang cara Menggunakan Elastic Inference with TensorFlow Serving untuk info lebih lanjut.