Coreml:如何将数组 (1, 3, 80, 80, 19) 重塑为 (3, 6400, 19) 或 (1, 3, 6400, 19)
Coreml: How to reshape an array (1, 3, 80, 80, 19) to (3, 6400, 19) or (1, 3, 6400, 19)
我有一个输入 (1, 3, 80, 80, 19),我想将其整形为 (3, 6400, 19) 或 (1, 3, 6400, 19)。我试过这样
input_features = [
("714", datatypes.Array(1, 3, 80, 80, 19))]
builder.add_reshape(name='714_reshape', input_name='714', output_name='714_reshape', target_shape=(3, 6400, 19), mode=0)
但我收到此错误 Espresso 异常:“参数无效”:generic_reshape_kernel:底部形状无效 (19 80 80 3 1) 以重塑为 (19 6400 3 3 1)”。
而且 coreml 似乎试图输出与我的输入相同的排名。有没有办法告诉 coreml 我想将轴 1 和轴 2 从 80x80 重塑为 6400?
试试 add_reshape_static
,它可以处理不是 5 阶的张量。旧的重塑层在这方面有更多限制,有时会出现奇怪的行为。
我有一个输入 (1, 3, 80, 80, 19),我想将其整形为 (3, 6400, 19) 或 (1, 3, 6400, 19)。我试过这样
input_features = [
("714", datatypes.Array(1, 3, 80, 80, 19))]
builder.add_reshape(name='714_reshape', input_name='714', output_name='714_reshape', target_shape=(3, 6400, 19), mode=0)
但我收到此错误 Espresso 异常:“参数无效”:generic_reshape_kernel:底部形状无效 (19 80 80 3 1) 以重塑为 (19 6400 3 3 1)”。
而且 coreml 似乎试图输出与我的输入相同的排名。有没有办法告诉 coreml 我想将轴 1 和轴 2 从 80x80 重塑为 6400?
试试 add_reshape_static
,它可以处理不是 5 阶的张量。旧的重塑层在这方面有更多限制,有时会出现奇怪的行为。