Lutz Roeder 8 лет назад
Родитель
Сommit
d47afddd4f
2 измененных файлов с 49 добавлено и 3 удалено
  1. 15 0
      src/mxnet-model.js
  2. 34 3
      src/mxnet-operator.json

+ 15 - 0
src/mxnet-model.js

@@ -382,6 +382,7 @@ class MXNetOperatorMetadata {
                     return attribute.hidden;
                     return attribute.hidden;
                 }
                 }
                 if (attribute.hasOwnProperty('default')) {
                 if (attribute.hasOwnProperty('default')) {
+                    value = MXNetOperatorMetadata.formatTuple(value); 
                     return MXNetOperatorMetadata.isEquivalent(attribute.default, value);
                     return MXNetOperatorMetadata.isEquivalent(attribute.default, value);
                 }
                 }
             }
             }
@@ -389,6 +390,20 @@ class MXNetOperatorMetadata {
         return false;
         return false;
     }
     }
 
 
+    static formatTuple(value) {
+        if (value.startsWith('(') && value.endsWith(')')) {
+            var list = value.substring(1, value.length - 1).split(',');
+            list = list.map(item => item.trim());
+            if (list.length > 1) {
+                if (list.every(item => item == list[0])) {
+                    list = [ list[0], '' ];
+                }
+            }
+            return '(' + list.join(',') + ')';
+        }
+        return value;
+    }
+
     static isEquivalent(a, b) {
     static isEquivalent(a, b) {
         if (a === b) {
         if (a === b) {
             return a !== 0 || 1 / a === 1 / b;
             return a !== 0 || 1 / a === 1 / b;

+ 34 - 3
src/mxnet-operator.json

@@ -9,10 +9,13 @@
         { "name": "bias" }
         { "name": "bias" }
       ],
       ],
       "attributes": [
       "attributes": [
-        { "name": "no_bias", "hidden": true },
         { "name": "cudnn_off", "default": "False" },
         { "name": "cudnn_off", "default": "False" },
         { "name": "cudnn_tune", "default": "off" },
         { "name": "cudnn_tune", "default": "off" },
+        { "name": "dilate", "default": "(1,)" },
+        { "name": "no_bias", "hidden": true },
         { "name": "num_group", "default": "1" },
         { "name": "num_group", "default": "1" },
+        { "name": "pad", "default": "(0,)" },
+        { "name": "stride", "default": "(1,)" },
         { "name": "workspace", "default": "1024" }
         { "name": "workspace", "default": "1024" }
       ]
       ]
     }
     }
@@ -43,6 +46,7 @@
         { "name": "bias" }
         { "name": "bias" }
       ],
       ],
       "attributes": [
       "attributes": [
+        { "name": "flatten", "default": "True" },
         { "name": "no_bias", "hidden": true }
         { "name": "no_bias", "hidden": true }
       ]
       ]
     }
     }
@@ -66,6 +70,16 @@
       "inputs": [
       "inputs": [
         { "name": "input" },
         { "name": "input" },
         { "name": "label" }
         { "name": "label" }
+      ],
+      "attributes": [
+        { "name": "grad_scale", "default": "1" },
+        { "name": "ignore_label", "default": "1" },
+        { "name": "multi_output", "default": "False" },
+        { "name": "normalization", "default": "null" },
+        { "name": "out_grad", "default": "False" },
+        { "name": "smooth_alpha", "default": "0" },
+        { "name": "use_ignore", "default": "False" },
+        { "name": "preserve_shape", "default": "False" }
       ]
       ]
     }
     }
   },
   },
@@ -87,7 +101,14 @@
   {
   {
     "name": "Pooling",
     "name": "Pooling",
     "schema": {
     "schema": {
-      "category": "Pool"
+      "category": "Pool",
+      "attributes": [
+        { "name": "cudnn_off", "default": "False" },
+        { "name": "global_pool", "default": "False" },
+        { "name": "pad", "default": "(0,)" },
+        { "name": "pooling_convention", "default": "valid" },
+        { "name": "stride", "default": "(1,)" }
+      ]
     }
     }
   },
   },
   {
   {
@@ -102,6 +123,10 @@
       "category": "Tensor",
       "category": "Tensor",
       "inputs": [
       "inputs": [
         { "name": "inputs", "option": "variadic" }
         { "name": "inputs", "option": "variadic" }
+      ],
+      "attributes": [
+        { "name": "dim", "default": "1" },
+        { "name": "num_args", "hidden": true }
       ]
       ]
     }
     }
   },
   },
@@ -129,6 +154,13 @@
         { "name": "input" },
         { "name": "input" },
         { "name": "gamma" },
         { "name": "gamma" },
         { "name": "beta" }
         { "name": "beta" }
+      ],
+      "attributes": [
+        { "name": "axis", "default": "1" },
+        { "name": "eps", "default": "0.001" },
+        { "name": "momentum", "default": "0.9" },
+        { "name": "fix_gamma", "default": "True" },
+        { "name": "use_global_stats", "default": "False" }
       ]
       ]
     }
     }
   },
   },
@@ -152,5 +184,4 @@
       ]
       ]
     }
     }
   }
   }
-
 ]
 ]