データ格納¶
DType クラス(Enum定義)¶
Tensor クラス¶
- class binarybrain.tensor.Tensor(shape: List[int] | None = None, *, dtype=DType.FP32, host_only=False, core_tensor=None)¶
ベースクラス:
ObjectTensor class
多次元データ構造。
- パラメータ:
shape (list[int]) -- Shape of created array
dtype (int) -- Data type
host_only (bool) -- flag of host only
- static from_numpy(ndarray: ndarray, host_only=False)¶
NumPy から生成
- パラメータ:
ndarray (ndarray) -- array of NumPy
host_only (bool) -- flag of host only
- get_shape() List[int]¶
データのシェイプ取得
- 戻り値:
shape
- get_type() int¶
データ型取得
- 戻り値:
data type.
- numpy() ndarray¶
NumPy の ndarray に変換
- 戻り値:
ndarray (array)
FrameBuffer クラス¶
- class binarybrain.frame_buffer.FrameBuffer(frame_size: int = 0, shape: List[int] = [], dtype=DType.FP32, host_only: bool = False, core_buf=None)¶
ベースクラス:
ObjectFrameBuffer class
BinaryBrainでの学習データを格納する特別な型である バッチと対応する 1次元のframe項と、各レイヤーの入出力ノードに対応する 多次元のnode項を有している numpy の ndarray に変換する際は axis=0 が frame 項となり、以降が node項となる
Tensor と異なり、frame 項に対して reshape を行うことはできず、 node 項に対しても transpose することはできない。
node に関しては 2次元以上の shape も持ちうるが、実際のレイヤー間接続に 際しては、畳み込みなどの次元に意味を持つノード以外では、ノード数さえ あっていれば接続できるものが殆どである(多くの処理系で必要とする flatten が省略できる)。
host_only フラグを指定すると device(GPU側) が利用可能であっても host(CPU側) のみにメモリを確保する
- パラメータ:
frame_size (int) -- frame サイズ
shape (list[int]) -- node シェイプ
dtype (int) -- Data type
host_only (bool) -- flag of host only
- static from_numpy(ndarray: ndarray, host_only=False)¶
Create from NumPy
- パラメータ:
ndarray (np.ndarray) -- array of NumPy
host_only (bool) -- flag of host only
- get_frame_size() int¶
get size of frame.
- 戻り値:
frame size.
- get_frame_stride() int¶
get stride of frame.
- 戻り値:
frame stride.
- get_node_shape() List[int]¶
get shape of node.
- 戻り値:
shape
- get_node_size() int¶
get size of node.
- 戻り値:
node size.
- get_type() int¶
データ型取得
- 戻り値:
dtype (DType)
- numpy() ndarray¶
Convert to NumPy
- パラメータ:
shape (list[int]) -- Shape of created array
dtype (int) -- Data type
host_only (bool) -- flag of host only