TensorFlow - 2.0 Japanese

Vitis AI RNN ユーザー ガイド (UG1563)

Document ID
UG1563
Release Date
2022-01-20
Version
2.0 Japanese
example/lstm_quant_tensorflow/quantize_lstm.py ファイルにサンプルが含まれます。
  1. TensorFlow クオンタイザー モジュールをインポートします。
    from tf_nndct.quantization.api import tf_quantizer
  2. 量子化に必要な入力でクオンタイザーを生成します。入力データのバッチ サイズは 1 とする必要があります。変換されたモデルを取得します。
    single_batch_data = X_test[:1, ]
    input_signature = tf.TensorSpec(single_batch_data.shape[1:], tf.int32)
    quantizer = tf_quantizer(model, 
                             input_signature, 
                             quant_mode=args.quant_mode,
                             bitwidth=16)
    rebuilt_model = quantizer.quant_model
    
  3. 変換されたモデルと共にニューラル ネットワークを転送します。
    output = rebuilt_model(X_test[start: end])
  4. 量子化の結果を出力し、モデルを運用します。出力をダンプする際、入力データのバッチ サイズは 1 とする必要があります。
    if args.quant_mode == 'calib':
        quantizer.export_quant_config()
    elif args.quant_mode == 'test':
        quantizer.dump_xmodel()
        quantizer.dump_rnn_outputs_by_timestep(X_test[:1])