onnxruntime

Форк
0
/
tensor-view.ts 
60 строк · 1.4 Кб
1
// Copyright (c) Microsoft Corporation. All rights reserved.
2
// Licensed under the MIT License.
3

4
import { Tensor } from 'onnxruntime-common';
5

6
import { tensorTypeToTypedArrayConstructor } from '../wasm-common';
7

8
export const createView = (
9
  dataBuffer: ArrayBuffer,
10
  type: Tensor.Type,
11
):
12
  | Int32Array
13
  | Uint32Array
14
  | BigInt64Array
15
  | BigUint64Array
16
  | Uint8Array
17
  | Float32Array
18
  | Float64Array
19
  | Int8Array
20
  | Int16Array
21
  | Uint16Array => new (tensorTypeToTypedArrayConstructor(type))(dataBuffer);
22

23
/**
24
 * a TensorView does not own the data.
25
 */
26
export interface TensorView {
27
  readonly data: number;
28
  readonly dataType: number;
29
  readonly dims: readonly number[];
30

31
  /**
32
   * get a Float16Array data view of the tensor data. tensor data must be on CPU.
33
   */
34
  getUint16Array(): Uint16Array;
35

36
  /**
37
   * get a Float32Array data view of the tensor data. tensor data must be on CPU.
38
   */
39
  getFloat32Array(): Float32Array;
40

41
  /**
42
   * get a BigInt64Array data view of the tensor data. tensor data must be on CPU.
43
   */
44
  getBigInt64Array(): BigInt64Array;
45

46
  /**
47
   * get a Int32Array data view of the tensor data. tensor data must be on CPU.
48
   */
49
  getInt32Array(): Int32Array;
50

51
  /**
52
   * get a Uint16Array data view of the tensor data. tensor data must be on CPU.
53
   */
54
  getUint16Array(): Uint16Array;
55

56
  /**
57
   * create a new tensor view with the same data but different dimensions.
58
   */
59
  reshape(newDims: readonly number[]): TensorView;
60
}
61

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.