Lutz Roeder преди 2 години
родител
ревизия
6d754d9325
променени са 1 файла, в които са добавени 6 реда и са изтрити 65 реда
  1. 6 65
      source/tf.js

+ 6 - 65
source/tf.js

@@ -1618,74 +1618,13 @@ tf.TensorBundle.Table.Block = class {
     }
 };
 
-tf.BinaryReader = class {
+tf.BinaryReader = class extends base.BinaryReader {
 
     constructor(buffer) {
-        this._buffer = buffer;
-        this._position = 0;
-        this._length = this._buffer.length;
-        this._dataView = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
+        super(buffer);
         this._decoder = new TextDecoder('utf-8');
     }
 
-    get position() {
-        return this._position;
-    }
-
-    get length() {
-        return this._length;
-    }
-
-    seek(position) {
-        this._position = position >= 0 ? position : this._length + position;
-        if (this._position > this._length) {
-            throw new tf.Error(`Expected ${this._position - this._length} more bytes. The file might be corrupted. Unexpected end of file.`);
-        }
-    }
-
-    skip(offset) {
-        this._position += offset;
-        if (this._position > this._length) {
-            throw new tf.Error(`Expected ${this._position - this._length} more bytes. The file might be corrupted. Unexpected end of file.`);
-        }
-    }
-
-    read(size) {
-        const position = this._position;
-        this.skip(size);
-        return this._buffer.subarray(position, this._position);
-    }
-
-    byte() {
-        const position = this._position;
-        this.skip(1);
-        return this._dataView.getUint8(position);
-    }
-
-    uint16() {
-        const position = this._position;
-        this.skip(2);
-        return this._dataView.getUint16(position, true);
-    }
-
-    int32() {
-        const position = this._position;
-        this.skip(4);
-        return this._dataView.getInt32(position, true);
-    }
-
-    uint32() {
-        const position = this._position;
-        this.skip(4);
-        return this._dataView.getUint32(position, true);
-    }
-
-    uint64() {
-        const position = this._position;
-        this.skip(4);
-        return this._dataView.getUint64(position, true);
-    }
-
     string() {
         const size = this.uint32();
         const buffer = this.read(size);
@@ -2149,7 +2088,8 @@ tf.Context = class {
                                     }
                                     break;
                                 }
-                                case 'int64': {
+                                case 'int64':
+                                case 'SymInt': {
                                     if (input.constant !== undefined && Number.isInteger(parseInt(input.constant))) {
                                         continue;
                                     }
@@ -2209,7 +2149,8 @@ tf.Context = class {
                                     input.metadata = arg;
                                     break;
                                 }
-                                case 'int64': {
+                                case 'int64':
+                                case 'SymInt': {
                                     const value = parseInt(input.constant);
                                     input.attr = new tf.proto.tensorflow.AttrValue();
                                     input.attr.i = value;