Skip to content

Commit 2baf1e2

Browse files
committed
int8
1 parent 5833f47 commit 2baf1e2

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

TFTRT-int8-calibration-from-saved-model.ipynb

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -503,7 +503,7 @@
503503
},
504504
{
505505
"cell_type": "code",
506-
"execution_count": 33,
506+
"execution_count": 37,
507507
"metadata": {},
508508
"outputs": [
509509
{
@@ -514,7 +514,7 @@
514514
"INFO:tensorflow:The specified SavedModel has no variables; no checkpoints were restored.\n",
515515
"INFO:tensorflow:Running against TensorRT version 5.1.2\n",
516516
"Calibrate model on calibration data...\n",
517-
"Calibration accuracy: 82.03%\n"
517+
"Calibration accuracy: 75.38%\n"
518518
]
519519
}
520520
],
@@ -535,7 +535,7 @@
535535
" precision_mode='INT8')\n",
536536
"\n",
537537
"#Then calibrate it with 2 batchs of examples\n",
538-
"N_runs=2\n",
538+
"N_runs=100\n",
539539
"with tf.Session(graph=tf.Graph()) as sess:\n",
540540
" \n",
541541
" output_node = tf.import_graph_def(\n",
@@ -558,7 +558,7 @@
558558
" for _ in range(N_runs):\n",
559559
" image_data = sess.run(next_element) \n",
560560
" img = image_data[0]\n",
561-
" label = image_data[1]\n",
561+
" label = image_data[1].squeeze()\n",
562562
" output = sess.run(output_node[0].outputs[0], feed_dict={\"trt/input_tensor:0\": img})\n",
563563
" prediction = np.argmax(output, axis=1)\n",
564564
" num_hits += np.sum(prediction == label)\n",
@@ -588,7 +588,7 @@
588588
},
589589
{
590590
"cell_type": "code",
591-
"execution_count": 35,
591+
"execution_count": 38,
592592
"metadata": {},
593593
"outputs": [
594594
{
@@ -598,7 +598,7 @@
598598
"traceback": [
599599
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
600600
"\u001b[0;31mFailedPreconditionError\u001b[0m Traceback (most recent call last)",
601-
"\u001b[0;32m<ipython-input-35-37c230aa2655>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#Create Int8 inference model from the calibration graph and write to a saved session\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mtrt_int8_calibrated_graph\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtrt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalib_graph_to_infer_graph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrt_int8_calib_graph\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m output_node = tf.import_graph_def(\n\u001b[1;32m 4\u001b[0m \u001b[0mtrt_int8_calibrated_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mreturn_elements\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'softmax_tensor:0'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
601+
"\u001b[0;32m<ipython-input-38-774a4b39c75b>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m#Create Int8 inference model from the calibration graph and write to a saved session\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 2\u001b[0;31m \u001b[0mtrt_int8_calibrated_graph\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtrt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcalib_graph_to_infer_graph\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtrt_int8_calib_graph\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3\u001b[0m output_node = tf.import_graph_def(\n\u001b[1;32m 4\u001b[0m \u001b[0mtrt_int8_calibrated_graph\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mreturn_elements\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'softmax_tensor:0'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
602602
"\u001b[0;32m/usr/local/lib/python3.5/dist-packages/tensorflow/contrib/tensorrt/python/trt_convert.py\u001b[0m in \u001b[0;36mcalib_graph_to_infer_graph\u001b[0;34m(calibration_graph_def, is_dynamic_op)\u001b[0m\n\u001b[1;32m 415\u001b[0m \u001b[0;31m# pylint: disable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 416\u001b[0m raise _impl._make_specific_exception(None, None, \";\".join(msg[1:]),\n\u001b[0;32m--> 417\u001b[0;31m int(msg[0]))\n\u001b[0m\u001b[1;32m 418\u001b[0m \u001b[0;31m# pylint: enable=protected-access\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 419\u001b[0m \u001b[0moutput_graph_def\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mgraph_pb2\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mGraphDef\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
603603
"\u001b[0;31mFailedPreconditionError\u001b[0m: Need to run graph with calibration data first!"
604604
]
@@ -638,7 +638,7 @@
638638
" while True: \n",
639639
" image_data = sess.run(next_element) \n",
640640
" img = image_data[0]\n",
641-
" label = image_data[1]\n",
641+
" label = image_data[1].squeeze()\n",
642642
" output = sess.run(['softmax_tensor:0'], feed_dict={\"input_tensor:0\": img})\n",
643643
" prediction = np.argmax(output[0], axis=1)\n",
644644
" num_hits += np.sum(prediction == label)\n",

0 commit comments

Comments
 (0)