All Products
Search
Document Center

Platform For AI:Terapkan model TensorFlow dengan SDK

Last Updated:Mar 11, 2026

Machine Learning Platform for AI (PAI)-Blade menyediakan SDK C++ yang dapat digunakan untuk menerapkan model yang telah dioptimalkan guna inferensi. Topik ini menjelaskan cara menggunakan SDK yang disediakan oleh PAI-Blade, dengan contoh berbasis model TensorFlow.

Prasyarat

  • Model TensorFlow telah dioptimalkan menggunakan PAI-Blade. Untuk informasi selengkapnya, lihat Optimize a TensorFlow model.

  • SDK telah diinstal dan Token otentikasi telah diperoleh. Untuk informasi selengkapnya, lihat Install Blade. Karena topik ini menggunakan GCC 4.8, diperlukan SDK yang menggunakan application binary interface (ABI) pre-cxx11. Contoh ini menggunakan paket RPM Package Manager (RPM) versi 3.7.0.

    Catatan

    Model yang dioptimalkan oleh PAI-Blade memerlukan SDK yang sesuai agar dapat berjalan dengan benar.

Persiapkan lingkungan

Topik ini menjelaskan cara menggunakan PAI-Blade SDK untuk menerapkan model TensorFlow guna inferensi. Contoh ini menggunakan CentOS 7.

  1. Persiapkan server.

    Contoh ini menggunakan Instance ECS dengan konfigurasi berikut:

    • Jenis instans: ecs.gn6i-c4g1.xlarge, GPU T4

    • Sistem operasi: CentOS 7.9 64-bit

    • Perangkat: CUDA 10.0

    • Driver GPU: Driver 440.64.00

    • Paket akselerasi komputasi GPU: cuDNN 7.6.5

  2. Instal GCC.

    Contoh ini menggunakan GCC 4.8 bawaan untuk CentOS. Anda dapat menjalankan perintah berikut untuk menginstalnya.

    yum install -y gcc-c++
  3. Instal Python 3.

    # Perbarui versi pip.
    python3 -m pip install --upgrade pip
    
    # Instal virtualenv untuk menginstal TensorFlow dalam lingkungan virtual.
    pip3 install virtualenv==16.0
    python3 -m virtualenv venv
    
    # Penting! Aktifkan virtualenv.
    source venv/bin/activate
  4. Instal TensorFlow dan unduh pustaka terkait.

    Inferensi model TensorFlow biasanya memerlukan dua pustaka dinamis: libtensorflow_framework.so dan libtensorflow_cc.so. Di lingkungan produksi, Anda harus membuat paket TensorFlow Wheel yang berisi libtensorflow_framework.so. Paket tersebut harus menggunakan konfigurasi, lingkungan, dan versi kompilator yang sama dengan libtensorflow_cc.so. Untuk keperluan demonstrasi, contoh ini menggunakan edisi komunitas TensorFlow dan file pustaka yang telah dikompilasi sebelumnya. Jangan gunakan file-file ini di lingkungan produksi.

    # Instal TensorFlow.
    pip3 install tensorflow-gpu==1.15.0
    
    # Unduh libtensorflow_cc.so.
    wget http://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/demo/sdk/tensorflow/libtensorflow_cc.so

Terapkan model untuk inferensi

Untuk menggunakan PAI-Blade SDK guna memuat dan menerapkan model yang telah dioptimalkan untuk inferensi, cukup tautkan pustaka dalam SDK saat mengompilasi kode inferensi tanpa mengubah logika kode aslinya.

  1. Persiapkan model.

    Contoh ini menggunakan model sampel yang telah dioptimalkan. Anda dapat menjalankan perintah berikut untuk mengunduhnya. Anda juga dapat menggunakan model yang telah Anda optimalkan sendiri. Untuk informasi selengkapnya, lihat Optimize a TensorFlow model.

    wget http://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/demo/asr_frozen.pb
  2. Unduh dan lihat kode inferensi.

    Model yang dioptimalkan oleh PAI-Blade dijalankan dengan cara yang sama seperti model TensorFlow biasa. Tidak diperlukan kode atau konfigurasi tambahan. Anda dapat menjalankan perintah berikut untuk mengunduh kode inferensi:

    wget http://pai-blade.oss-cn-zhangjiakou.aliyuncs.com/demo/sdk/tensorflow/tf_sdk_demo.cc

    File tf_sdk_demo.cc yang diunduh hanya berisi logika umum untuk inferensi TensorFlow dan tidak mengandung kode khusus PAI-Blade.

  3. Anda dapat mengompilasi kode.

    Untuk menjalankan model yang dioptimalkan oleh PAI-Blade, cukup tautkan file libtf_blade.so dari subdirektori /usr/local/lib SDK. Perintah kompilasinya adalah sebagai berikut.

    # Dapatkan flag kompilasi TensorFlow.
    TF_COMPILE_FLAGS=$(python3 -c 'import tensorflow as tf; print(" ".join(tf.sysconfig.get_compile_flags()))')
    
    # Dapatkan flag penautan TensorFlow.
    TF_LD_FLAGS=$(python3 -c 'import tensorflow as tf; print(" ".join(tf.sysconfig.get_link_flags()))')
    
    # libtensorflow_cc.so berada di folder saat ini.
    TF_CC_PATH='.'
    
    g++ -std=c++11 tf_sdk_demo.cc \
        ${TF_COMPILE_FLAGS} \
        ${TF_LD_FLAGS} \
        -L ${TF_CC_PATH} \
        -L /usr/local/lib \
        -ltensorflow_cc \
        -ltf_blade \
        -ltao_ops \
        -o demo_cpp_sdk.bin

    Ubah parameter berikut sesuai kebutuhan:

    • tf_sdk_demo.cc: Nama file kode inferensi.

    • /usr/local/lib: Jalur instalasi SDK. Biasanya Anda tidak perlu mengubah nilai ini.

    • demo_cpp_sdk.bin: Nama program eksekusi yang dihasilkan setelah kompilasi.

    Catatan

    Dibandingkan dengan kompilasi TensorFlow Serving standar, Anda juga harus menautkan dua file .so yang disediakan oleh PAI-Blade yang berisi operator optimasi: libtf_blade.so dan libtao_ops.so.

  4. Jalankan model untuk inferensi pada perangkat lokal.

    Anda dapat menggunakan perintah berikut untuk memuat dan menjalankan model sampel yang telah dioptimalkan oleh PAI-Blade (asr_frozen.pb) dengan program eksekusi yang telah dikompilasi (demo_cpp_sdk.bin).

    # Wajib diisi. Hubungi tim PAI untuk mendapatkan nilainya.
    export BLADE_REGION=<region>
    # Wajib diisi. Hubungi tim PAI untuk mendapatkan nilainya.
    export BLADE_TOKEN=<token>
    TF_LD_FLAGS=$(python3 -c 'import tensorflow as tf; print(" ".join(tf.sysconfig.get_link_flags()))')
    TF_FRAMEWORK_PATH=`echo $TF_LD_FLAGS | awk '{print $1}' | sed "s/-L//g"`
    LD_LIBRARY_PATH=${TF_FRAMEWORK_PATH}:${TF_CC_PATH}:/usr/local/lib:${LD_LIBRARY_PATH} ./demo_cpp_sdk.bin asr_frozen.pb

    Ganti parameter berikut sesuai kebutuhan:

    • <region>: Wilayah tempat PAI-Blade didukung. Untuk mendapatkan informasi ini, bergabunglah dengan grup pengguna PAI-Blade. Untuk kode QR grup pengguna, lihat Obtain an authentication token.

    • <token>: Token otentikasi. Untuk mendapatkan informasi ini, bergabunglah dengan grup pengguna PAI-Blade. Untuk kode QR grup pengguna, lihat Obtain an authentication token.

    • /usr/local/lib: Direktori instalasi SDK. Biasanya Anda tidak perlu mengubah nilai ini.

    • demo_cpp_sdk.bin: Program eksekusi yang dikompilasi pada langkah sebelumnya.

    • asr_frozen.pb: Model TensorFlow yang telah dioptimalkan oleh PAI-Blade. Contoh ini menggunakan model sampel yang diunduh pada Langkah 1.

    Sistem akan mengembalikan output yang mirip dengan berikut, yang menunjukkan bahwa model telah mulai berjalan.

    ...
    2020-11-20 16:41:41.263192: I demo_cpp_sdk.cpp:96] --- Execution uses: 41.995 ms
    2020-11-20 16:41:41.305550: I demo_cpp_sdk.cpp:96] --- Execution uses: 42.334 ms
    2020-11-20 16:41:41.347772: I demo_cpp_sdk.cpp:96] --- Execution uses: 42.195 ms
    2020-11-20 16:41:41.390894: I demo_cpp_sdk.cpp:96] --- Execution uses: 43.09 ms
    2020-11-20 16:41:41.434968: I demo_cpp_sdk.cpp:96] --- Execution uses: 44.047 ms
    ...