Lutz Roeder 11 месяцев назад
Родитель
Сommit
91b1237494
2 измененных файлов с 26 добавлено и 0 удалено
  1. 19 0
      source/paddle.js
  2. 7 0
      test/models.json

+ 19 - 0
source/paddle.js

@@ -86,6 +86,25 @@ paddle.ModelFactory = class {
                         case 'paddle.pbtxt': {
                             try {
                                 const reader = await context.read('protobuf.text');
+                                reader.enum = function(type) {
+                                    const token = this.token();
+                                    this.next();
+                                    this.semicolon();
+                                    if (type[token] !== undefined) {
+                                        return type[token];
+                                    }
+                                    if (token === 'LOD_TENSOR') {
+                                        return type.DENSE_TENSOR;
+                                    }
+                                    throw new paddle.Error(`Unknown enum value '${token}' ${this.location()}`);
+                                };
+                                reader.field = function(tag, message) {
+                                    if (message instanceof paddle.proto.VarType && tag === 'lod_tensor') {
+                                        message.dense_tensor = paddle.proto.VarType.DenseTensorDesc.decodeText(reader);
+                                    } else {
+                                        throw new Error(`Unknown field '${tag}' ${this.location()}`);
+                                    }
+                                };
                                 program.desc = paddle.proto.ProgramDesc.decodeText(reader);
                             } catch (error) {
                                 const message = error && error.message ? error.message : error.toString();

+ 7 - 0
test/models.json

@@ -5050,6 +5050,13 @@
     "format":   "PaddlePaddle IR v1",
     "link":     "https://github.com/lutzroeder/netron/issues/1407"
   },
+  {
+    "type":     "paddle",
+    "target":   "fluid.pbtxt",
+    "source":   "https://github.com/user-attachments/files/19405445/fluid.pbtxt.zip[fluid.pbtxt]",
+    "format":   "PaddlePaddle",
+    "link":     "https://github.com/lutzroeder/netron/issues/903"
+  },
   {
     "type":     "paddle",
     "target":   "for_net.json",