- Notifications
You must be signed in to change notification settings - Fork 460
Open
Description
Describe
train a VGG classification model, and convert ckpt to pb model.
try to inference pb model, and result correct.
then python -m tf2onnx.convert --graphdef model.pb --output model.onnx --inputs input:0 --outputs output:0 convert pb to onnx successful, but inference error, all results are label 0.
Information
- OS Platform and Distribution (e.g., Linux Ubuntu 16.04): windows10
- INFO - tf2onnx: inputs: ['input:0']
- INFO - tf2onnx: outputs: ['output:0']
- INFO - tf2onnx.tfonnx: Using tensorflow=1.13.1, onnx=1.8.0, tf2onnx=1.9.3/1190aa
- INFO - tf2onnx.tfonnx: Using opset <onnx, 9>
Model
`
def build_model(input, num_class, keep_prob=0.9, is_train=True):
with slim.arg_scope([slim.conv2d, slim.fully_connected], activation_fn=tf.nn.relu): net = input # net = slim.repeat(net, 1, slim.conv2d, 32, [3, 3], scope='conv1') net = slim.conv2d(net, 32, [3, 3], scope='conv1_1') net = slim.max_pool2d(net, [2, 2], scope='pool1', stride=2) # net = slim.repeat(net, 2, slim.conv2d, 64, [3, 3], scope='conv2') net = slim.conv2d(net, 64, [3, 3], scope='conv2_1') net = slim.conv2d(net, 64, [3, 3], scope='conv2_2') net = slim.max_pool2d(net, [2, 2], scope='pool2', stride=2) # net = slim.repeat(net, 3, slim.conv2d, 128, [3, 3], scope='conv3') net = slim.conv2d(net, 128, [3, 3], scope='conv3_1') net = slim.conv2d(net, 128, [3, 3], scope='conv3_2') net = slim.conv2d(net, 128, [3, 3], scope='conv3_3') net = slim.max_pool2d(net, [2, 2], scope='pool3', stride=2) # net = slim.repeat(net, 3, slim.conv2d, 256, [3, 3], scope='conv4') net = slim.conv2d(net, 256, [3, 3], scope='conv4_1') net = slim.conv2d(net, 256, [3, 3], scope='conv4_2') net = slim.conv2d(net, 256, [3, 3], scope='conv4_3') net = slim.max_pool2d(net, [2, 2], scope='pool4', stride=2) # net = slim.repeat(net, 2, slim.conv2d, 512, [3, 3], scope='conv5') net = slim.conv2d(net, 512, [3, 3], scope='conv5_1') net = slim.conv2d(net, 512, [3, 3], scope='conv5_2') net = slim.max_pool2d(net, [2, 2], scope='pool5', stride=2) net = slim.flatten(net, scope='flatten') net = slim.dropout(net, keep_prob=keep_prob, is_training=is_train) net = slim.fully_connected(net, 1024, scope='fc1') net = slim.fully_connected(net, 64, scope='fc2') net = slim.fully_connected(net, num_class, activation_fn=None, scope='fc3') if not is_train: net = tf.nn.softmax(net, name="output") return net `
Files
code: drive.google
ckpt: drive.google
pb: drive.google
onnx: drive.google
Metadata
Metadata
Assignees
Labels
No labels