|
|
@@ -822,6 +822,10 @@ kmodel.Reader = class {
|
|
|
const value = reader.uint32();
|
|
|
return [ 'mean', 'min', 'max', 'sum' ][value];
|
|
|
};
|
|
|
+ reader.image_resize_mode_t = function() {
|
|
|
+ const value = reader.uint32();
|
|
|
+ return [ 'bilinear', 'nearest_neighbor' ][value];
|
|
|
+ };
|
|
|
const inputs = new Array(model_header.inputs);
|
|
|
for (let i = 0; i < inputs.length; i++) {
|
|
|
inputs[i] = reader.parameter('input' + (i == 0 ? '' : (i + 1).toString()));
|
|
|
@@ -940,7 +944,16 @@ kmodel.Reader = class {
|
|
|
layer.inputs = [ reader.parameter('input') ];
|
|
|
layer.outputs = [ reader.parameter('output') ];
|
|
|
});
|
|
|
- register( 0x0A, 'resize_image', '');
|
|
|
+ register( 0x0A, 'resize_image', '', (layer, reader) => {
|
|
|
+ layer.inputs = [ reader.parameter('input') ];
|
|
|
+ layer.outputs = [ reader.parameter('output') ];
|
|
|
+ layer.reduce_op = reader.reduce_op_t();
|
|
|
+ layer.inputs[0].arguments[0].shape = reader.runtime_shape_t();
|
|
|
+ layer.out_h = reader.int32();
|
|
|
+ layer.out_w = reader.int32();
|
|
|
+ layer.mode = reader.image_resize_mode_t();
|
|
|
+ layer.align_corners = reader.boolean();
|
|
|
+ });
|
|
|
register( 0x0B, 'softmax', 'Activation');
|
|
|
register( 0x0C, 'transpose', 'Transform', (layer, reader) => {
|
|
|
layer.inputs = [ reader.parameter('input') ];
|