TensorFlow Melayani - AWS Deep Learning AMIs

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

TensorFlow Melayani

TensorFlow Melayani adalah sistem penyajian yang fleksibel dan berkinerja tinggi untuk model pembelajaran mesin.

tensorflow-serving-apiIni 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
  1. Unduh modelnya.

    $ curl -O https://s3-us-west-2.amazonaws.com/tf-test-models/INCEPTION.zip
  2. Untar modelnya.

    $ unzip INCEPTION.zip
  3. Unduh gambar husky.

    $ curl -O https://upload.wikimedia.org/wikipedia/commons/b/b5/Siberian_Husky_bi-eyed_Flickr.jpg
  4. Luncurkan server. Perhatikan, bahwa untuk Amazon Linux, Anda harus mengubah direktori yang digunakan untukmodel_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
  5. Dengan server berjalan di latar depan, Anda perlu meluncurkan sesi terminal lain untuk melanjutkan. Buka terminal baru dan aktifkan TensorFlow dengansource 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()
  6. 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.