Skip to content

Commit

Permalink
InceptionV2のONNX to NNP相互変換が動作することを確認
Browse files Browse the repository at this point in the history
  • Loading branch information
Masato Hori committed Jun 1, 2018
1 parent 4234b96 commit 09b3d74
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 14 deletions.
8 changes: 6 additions & 2 deletions python/src/nnabla/utils/converter/onnx/exporter.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,9 +486,13 @@ def convert_to_nodes(func, variables, input_types, output_types, broadcast_targe
}
# separate pad values to match ONNX format
# (S0,E0,S1,E1) => (S0,S1,E0,E1)
dim = len(pp.pad_width) // 2
zero_dim_num = 4-dim # assuming 4D input
it = iter(pp.pad_width)
starts = []
ends = []
# We need to fill empty dimensions with zero padding
# (at least this is what Caffe2 expects)
starts = [0]*zero_dim_num
ends = [0]*zero_dim_num
for x in it:
starts.append(x)
ends.append(next(it))
Expand Down
35 changes: 23 additions & 12 deletions python/test/utils/conversion/test_conversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -284,13 +284,11 @@ def test_onnx_nnp_conversion_maxpool_p0_0_1_1_s1_k2(tmpdir, nnp_fixture):
"out_data_1", "exec_0")


# NNP to ONNX conversion for asymmetry maxpool padding
# currently ends in an unknown error at caffe2 backend
#def test_nnp_onnx_conversion_maxpool_p0_0_1_1_s1_k2(tmpdir, nnp_fixture):
# convert_nnp_to_onnx_and_compare(tmpdir, TEST_DATA_DIR,
# "maxpool_p0_0_1_1_s1_k2.nnp",
# "maxpool_p0_0_1_1_s1_k2.onnx",
# "out_data_1", "exec_0")
def test_nnp_onnx_conversion_maxpool_p0_0_1_1_s1_k2(tmpdir, nnp_fixture):
convert_nnp_to_onnx_and_compare(tmpdir, TEST_DATA_DIR,
"maxpool_p0_0_1_1_s1_k2.nnp",
"maxpool_p0_0_1_1_s1_k2.onnx",
"out_data_1", "exec_0")


def test_onnx_nnp_conversion_conv(tmpdir, nnp_fixture):
Expand Down Expand Up @@ -1144,11 +1142,24 @@ def test_nnp_onnx_conversion_squeezenet(tmpdir, nnp_fixture):
in_name="data_0", in_img=img)


#def test_onnx_nnp_conversion_inception_v2(tmpdir, nnp_fixture):
# img = np.random.rand(1, 3, 224, 224).astype(np.float32)
# convert_onnx_to_nnp_and_compare(
# tmpdir, TEST_DATA_DIR, "inception_v2.onnx", "inception_v2.nnp", "prob_1", "exec_0",
# in_name="data_0", in_img=img)
@pytest.mark.slow
def test_onnx_nnp_conversion_inception_v2(tmpdir, nnp_fixture):
img = np.random.rand(1, 3, 224, 224).astype(np.float32)
convert_onnx_to_nnp_and_compare(tmpdir, TEST_DATA_DIR,
"inception_v2.onnx", "inception_v2.nnp",
"prob_1", "exec_0",
in_name="data_0", in_img=img,
export_nnp_path=TEST_DATA_DIR)


@pytest.mark.slow
def test_nnp_onnx_conversion_inception_v2(tmpdir, nnp_fixture):
img = np.random.rand(1, 3, 224, 224).astype(np.float32)
convert_nnp_to_onnx_and_compare(tmpdir, TEST_DATA_DIR,
"inception_v2.nnp", "inception_v2.onnx",
"prob_1", "exec_0",
in_name="data_0", in_img=img)


@pytest.mark.slow
def test_onnx_nnp_conversion_densenet121(tmpdir, nnp_fixture):
Expand Down

0 comments on commit 09b3d74

Please sign in to comment.