ailiaTokenizerFFI class

Written for the FFI article

Constructors

ailiaTokenizerFFI(DynamicLibrary dynamicLibrary)
The symbols are looked up in dynamicLibrary.
ailiaTokenizerFFI.fromLookup(Pointer<T> lookup(String symbolName))
The symbols are looked up with lookup.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

ailiaCopyBlobData(Pointer<AILIANetwork> dst_net, int dst_blob_idx, Pointer<AILIANetwork> src_net, int src_blob_idx) int
~japanese @brief 指定したBlob間でデータをコピーします
ailiaCreate(Pointer<Pointer<AILIANetwork>> net, int env_id, int num_thread) int
~japanese @brief ネットワークオブジェクトを作成します。 @param net ネットワークオブジェクトポインタへのポインタ @param env_id 計算に利用する推論実行環境のID( ailiaGetEnvironment() で取得) \ref AILIA_ENVIRONMENT_ID_AUTO にした場合は自動で選択する @param num_thread スレッド数の上限( \ref AILIA_MULTITHREAD_AUTO にした場合は自動で設定) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ネットワークオブジェクトを作成します。 推論実行環境を自動にした場合はCPUモードになり、BLASが利用できる場合はBLASを利用します。 なお、BLASを利用する場合num_threadは無視される場合があります。
ailiaDestroy(Pointer<AILIANetwork> net) → void
~japanese @brief ネットワークオブジェクトを破棄します。 @param net ネットワークオブジェクトポインタ
ailiaDisableLayerFusion(Pointer<AILIANetwork> net) int
~japanese @brief 推論時のレイヤー統合を無効化します @param net ネットワークオブジェクトポインタ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details レイヤー統合により取得できなくなるBlobを取得する必要がある場合などに用います。 ailiaCreate() の直後に指定する必要があります。ailiaOpenを呼び出した後は変更することができません。 なお、レイヤー統合を無効化すると推論速度が低下する場合があります。
ailiaFinalize() int
~japanese @brief ailiaがグローバルに確保したGPUリソース等を解放します @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返します。 @details ailiaCreate() で作成したインスタンス全てを ailiaDestroy() で解放した状態で呼び出す必要があります。 それ以外の状態で呼び出された場合 #ref AILIA_STATUS_INVALID_STATE を返します。 Windows 環境の場合、DllMain 等からこの API を呼び出すとデッドロックする可能性があります。
ailiaFindBlobIndexByName(Pointer<AILIANetwork> net, Pointer<UnsignedInt> blob_idx, Pointer<Char> name) int
~japanese @brief 推論時の内部データ(Blob)のインデックスを名前で探し取得します。 @param net ネットワークオブジェクトポインタ @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @param name 検索するBlob名 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。 なお、ailiaOpenStreamXXX呼び出し時は入出力Blobのみが検索可能です。中間Blobを検索する場合ailiaOpneWeightXXXを呼び出す必要があります。
ailiaFindBlobNameByIndex(Pointer<AILIANetwork> net, Pointer<Char> buffer, int buffer_size, int blob_idx) int
~japanese @brief 推論時の内部データ(Blob)の名前をインデックスで探し取得します。 @param net ネットワークオブジェクトポインタ @param buffer Blob名の出力先バッファ @param buffer_size バッファのサイズ(終端null文字分を含む) @param blob_idx 検索するblobのインデックス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。 なお、ailiaOpenStreamXXX呼び出し時は入出力Blobのみが検索可能です。中間Blobを検索する場合ailiaOpneWeightXXXを呼び出す必要があります。
ailiaGetBlobCount(Pointer<AILIANetwork> net, Pointer<UnsignedInt> blob_count) int
~japanese @brief 推論時の内部データ(Blob)の数を取得します。 @param net ネットワークオブジェクトポインタ @param blob_count blobの数の格納先 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。 なお、ailiaOpenStreamXXX呼び出し時は入出力Blobのみが列挙され、ailiaOpneWeightXXX呼び出し時に中間Blobの列挙が行われます。 そのためailiaOpenStreamXXX呼び出し直後とailiaOpneWeightXXX呼び出し直後で返答する数が変わる場合があります。
ailiaGetBlobData(Pointer<AILIANetwork> net, Pointer<Void> dest, int dest_size, int blob_idx) int
~japanese @brief 推論時の内部データ(Blob)を取得します。 @param net ネットワークオブジェクトポインタ @param dest 推論結果の書き出し先バッファにX,Y,Z,Wの順でnumeric型で格納 @param dest_size 推論結果の書き出し先バッファのbyte数 @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaPredict() または ailiaUpdate() を一度も実行していない場合は \ref AILIA_STATUS_INVALID_STATE が返ります。
ailiaGetBlobDataType(Pointer<AILIANetwork> net, Pointer<Int> type, int blob_idx) int
~japanese @brief 推論時の内部データ(Blob)の型を取得します。 @param net ネットワークオブジェクトポインタ @param type データ型の書き出し先バッファ。値は AILIA_DATATYPE_XXX で定義されています。 @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetBlobDim(Pointer<AILIANetwork> net, Pointer<UnsignedInt> dim, int blob_idx) int
~japanese @brief 推論時の内部データ(Blob)の次元を取得します。 @param net ネットワークオブジェクトポインタ @param dim blobの次元の格納先 @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、それ以外のエラーの場合はエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetBlobIndexByInputIndex(Pointer<AILIANetwork> net, Pointer<UnsignedInt> blob_idx, int input_blob_idx) int
~japanese @brief 入力データ(Blob)のインデックスを取得します @param net ネットワークオブジェクトポインタ @param blob_idx blobのインデックス(0~ ailiaGetBlobCount() -1) @param input_blob_idx 入力blob内でのインデックス(0~ ailiaGetInputBlobCount() -1) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。 なお、ailiaOpenStreamXXX呼び出し時に列挙されたinput_blob_idx及びblob_idxは保持されるためailiaOpneWeightXXX呼び出し後も同じ値が返ることが保証されます。
ailiaGetBlobIndexByOutputIndex(Pointer<AILIANetwork> net, Pointer<UnsignedInt> blob_idx, int output_blob_idx) int
~japanese @brief 出力データ(Blob)のインデックスを取得します @param net ネットワークオブジェクトポインタ @param blob_idx blobのインデックス(0~ ailiaGetBlobCount() -1) @param output_blob_idx 出力blob内でのインデックス(0~ ailiaGetOutputBlobCount() -1) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。
ailiaGetBlobNameLengthByIndex(Pointer<AILIANetwork> net, int blob_idx, Pointer<UnsignedInt> buffer_size) int
~japanese @brief 内部データ(Blob)の名前の出力に必要なバッファのサイズを取得します。 @param net ネットワークオブジェクトポインタ @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @param buffer_size Blob名の出力に必要なバッファのサイズ(終端null文字分を含む) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。 なお、ailiaOpenStreamXXX呼び出し時は入出力Blobのみが検索可能です。中間Blobを検索する場合ailiaOpneWeightXXXを呼び出す必要があります。
ailiaGetBlobShape(Pointer<AILIANetwork> net, Pointer<AILIAShape> shape, int blob_idx, int version) int
~japanese @brief 推論時の内部データ(Blob)の形状を取得します。 @param net ネットワークオブジェクトポインタ @param shape データの形状情報の格納先 @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @param version AILIA_SHAPE_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、5次元以上の場合 \ref AILIA_STATUS_NDIMENSION_SHAPE 、 それ以外のエラーの場合はエラーコードを返す。 @details 形状が5次元以上の場合は ailiaGetBlobDim() 、 ailiaGetBlobShapeND() を利用してください。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetBlobShapeND(Pointer<AILIANetwork> net, Pointer<UnsignedInt> shape, int dim, int blob_idx) int
~japanese @brief 推論時の内部データ(Blob)の形状を取得します。 @param net ネットワークオブジェクトポインタ @param shape blobの各次元の大きさの格納先配列(dim-1, dim-2, ... ,1, 0順で格納) @param dim shapeの次元 @param blob_idx blobのインデックス (0~ ailiaGetBlobCount() -1) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、それ以外のエラーの場合はエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetEnvironment(Pointer<Pointer<AILIAEnvironment>> env, int env_idx, int version) int
~japanese @brief 計算環境の一覧を取得します @param env 計算環境情報の格納先(AILIANetworkインスタンスを破棄するまで有効) @param env_idx 計算環境情報のインデックス(0~ ailiaGetEnvironmentCount() -1) @param version AILIA_ENVIRONMENT_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaGetEnvironmentCount(Pointer<UnsignedInt> env_count) int
~japanese @brief 利用可能な計算環境(CPU, GPU)の数を取得します @param env_count 計算環境情報の数の格納先 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaGetErrorDetail(Pointer<AILIANetwork> net) Pointer<Char>
~japanese @brief エラーの詳細を返します @param net ネットワークオブジェクトポインタ @return エラー詳細 @details 返値は解放する必要はありません。 文字列の有効期間は次にailiaのAPIを呼ぶまでです。 モデルが暗号化されている場合は空文字を返します。
ailiaGetInputBlobCount(Pointer<AILIANetwork> net, Pointer<UnsignedInt> input_blob_count) int
~japanese @brief 入力データ(Blob)の数を取得します。 @param net ネットワークオブジェクトポインタ @param input_blob_count 入力blobの数の格納先 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。 なお、入力Blobの列挙はailiaOpenStreamXXX呼び出し時に行われますが変更可能な重み(input付きinitialzier)の列挙はailiaOpneWeightXXX呼び出し時に行われます。 そのためailiaOpenStreamXXX呼び出し直後とailiaOpneWeightXXX呼び出し直後で返答する数が変わる場合があります。
ailiaGetInputDim(Pointer<AILIANetwork> net, Pointer<UnsignedInt> dim) int
~japanese @brief 推論時の入力データの次元を取得します。 @param net ネットワークオブジェクトポインタ @param dim 入力データの次元の格納先 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、それ以外のエラーの場合はエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetInputShape(Pointer<AILIANetwork> net, Pointer<AILIAShape> shape, int version) int
~japanese @brief 推論時の入力データの形状を取得します。 @param net ネットワークオブジェクトポインタ @param shape 入力データの形状情報 @param version AILIA_SHAPE_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、5次元以上の場合 \ref AILIA_STATUS_NDIMENSION_SHAPE 、 形状の一部が未確定の場合 \ref AILIA_STATUS_UNSETTLED_SHAPE 、それ以外のエラーの場合はエラーコードを返す。 @details 形状が5次元以上の場合は ailiaGetInputDim() 、 ailiaGetInputShapeND() を利用してください。 形状の一部が未確定の場合、該当する次元の値は0となり、それ以外の次元の値は有効な値が格納されます。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetInputShapeND(Pointer<AILIANetwork> net, Pointer<UnsignedInt> shape, int dim) int
~japanese @brief 推論時の入力データの形状を取得します。 @param net ネットワークオブジェクトポインタ @param shape 入力データの各次元の大きさの格納先配列(dim-1, dim-2, ... ,1, 0順で格納) @param dim shapeの次元 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、形状の一部が未確定の場合 \ref AILIA_STATUS_UNSETTLED_SHAPE 、 それ以外のエラーの場合はエラーコードを返す。 @details 形状の一部が未確定の場合、該当する次元の値は0となり、それ以外の次元の値は有効な値が格納されます。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetOutputBlobCount(Pointer<AILIANetwork> net, Pointer<UnsignedInt> output_blob_count) int
~japanese @brief 出力データ(Blob)の数を取得します。 @param net ネットワークオブジェクトポインタ @param output_blob_count 出力blobの数の格納先 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenStreamXXX呼び出し後より利用可能です。
ailiaGetOutputDim(Pointer<AILIANetwork> net, Pointer<UnsignedInt> dim) int
~japanese @brief 推論時の出力データの次元を取得します。 @param net ネットワークオブジェクトポインタ @param dim 出力データの次元の格納先 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、それ以外のエラーの場合はエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetOutputShape(Pointer<AILIANetwork> net, Pointer<AILIAShape> shape, int version) int
~japanese @brief 推論時の出力データの形状を取得します。 @param net ネットワークオブジェクトポインタ @param shape 出力データの形状情報 @param version AILIA_SHAPE_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、5次元以上の場合 \ref AILIA_STATUS_NDIMENSION_SHAPE 、 それ以外のエラーの場合エラーコードを返す。 形状が5次元以上の場合は ailiaGetOutputDim() 、 ailiaGetOutputShapeND() を利用してください。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetOutputShapeND(Pointer<AILIANetwork> net, Pointer<UnsignedInt> shape, int dim) int
~japanese @brief 推論時の出力データの形状を取得します。 @param net ネットワークオブジェクトポインタ @param shape 出力データの各次元の大きさの格納先配列(dim-1, dim-2, ... ,1, 0順で格納) @param dim shapeの次元 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、それ以外のエラーの場合はエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetSelectedEnvironment(Pointer<AILIANetwork> net, Pointer<Pointer<AILIAEnvironment>> env, int version) int
~japanese @brief 選択された計算環境を取得します @param net ネットワークオブジェクトポインタ @param env 計算環境情報の格納先(AILIANetworkインスタンスを破棄するまで有効) @param version AILIA_ENVIRONMENT_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaGetStatusString(int status_code) Pointer<Char>
~japanese @brief ステータスコードに対応する文字列を返します。 @param status_code ステータスコード @return ステータスコードに対応する文字列。 @details 返値は解放する必要はありません。 返された文字列は ailia のライブラリ(ailia.dll, libailia.so 等)をアンロードするまで有効です。 AILIANetwork のインスタンスがある場合は ailiaGetErrorDetail() でエラーの詳細を取得できます。
ailiaGetSummaryLength(Pointer<AILIANetwork> net, Pointer<UnsignedInt> buffer_size) int
~japanese @brief ネットワークSummary用に必要なバッファのサイズを取得します。 @param net ネットワークオブジェクトポインタ @param buffer_size バッファのサイズの格納先(終端null文字分を含む) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaGetVersion() Pointer<Char>
~japanese @brief ライブラリバージョンを取得します @return バージョン番号 @details 返値は解放する必要はありません。
ailiaOpenStreamEx(Pointer<AILIANetwork> net, Pointer<Void> fopen_args, ailiaFileCallback callback, int version) int
~japanese @brief ネットワークオブジェクトを初期化します。(ユーザ定義ファイルアクセスコールバック) @param net ネットワークオブジェクトポインタ @param fopen_args \ref AILIA_USER_API_FOPEN に通知される引数ポインタ @param callback ユーザ定義ファイルアクセスコールバック関数構造体 @param version ファイルアクセスコールバック関数構造体のバージョン( \ref AILIA_FILE_CALLBACK_VERSION ) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ファイルから読み込み、ネットワークオブジェクトを初期化します。
ailiaOpenStreamFileA(Pointer<AILIANetwork> net, Pointer<Char> path) int
~japanese @brief ネットワークオブジェクトを初期化します。(ファイルから読み込み) @param net ネットワークオブジェクトポインタ @param path prototxtファイルのパス名(MBSC or UTF16) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ファイルから読み込み、ネットワークオブジェクトを初期化します。
ailiaOpenStreamFileW(Pointer<AILIANetwork> net, Pointer<WChar> path) int
ailiaOpenStreamMem(Pointer<AILIANetwork> net, Pointer<Void> buf, int buf_size) int
~japanese @brief ネットワークオブジェクトを初期化します。(メモリから読み込み) @param net ネットワークオブジェクトポインタ @param buf prototxtファイルのデータへのポインタ @param buf_size prototxtファイルのデータサイズ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details メモリから読み込み、ネットワークオブジェクトを初期化します。
ailiaOpenWeightEx(Pointer<AILIANetwork> net, Pointer<Void> fopen_args, ailiaFileCallback callback, int version) int
~japanese @brief ネットワークオブジェクトに重み係数を読み込みます。(ユーザ定義ファイルアクセスコールバック) @param net ネットワークオブジェクトポインタ @param fopen_args \ref AILIA_USER_API_FOPEN に通知される引数ポインタ @param callback ユーザ定義ファイルアクセスコールバック関数構造体 @param version ファイルアクセスコールバック関数構造体のバージョン( \ref AILIA_FILE_CALLBACK_VERSION ) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ファイルからネットワークオブジェクトに重み係数を読み込みます。
ailiaOpenWeightFileA(Pointer<AILIANetwork> net, Pointer<Char> path) int
~japanese @brief ネットワークオブジェクトに重み係数を読み込みます。(ファイルから読み込み) @param net ネットワークオブジェクトポインタ @param path protobuf/onnxファイルのパス名(MBSC or UTF16) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ファイルからネットワークオブジェクトに重み係数を読み込みます。
ailiaOpenWeightFileW(Pointer<AILIANetwork> net, Pointer<WChar> path) int
ailiaOpenWeightMem(Pointer<AILIANetwork> net, Pointer<Void> buf, int buf_size) int
~japanese @brief ネットワークオブジェクトに重み係数を読み込みます。(メモリから読み込み) @param net ネットワークオブジェクトポインタ @param buf protobuf/onnxファイルのデータへのポインタ @param buf_size protobuf/onnxファイルのデータサイズ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details メモリからネットワークオブジェクトに重み係数を読み込みます。
ailiaPredict(Pointer<AILIANetwork> net, Pointer<Void> dest, int dest_size, Pointer<Void> src, int src_size) int
~japanese @brief 推論を行い推論結果を取得します。 @param net ネットワークオブジェクトポインタ @param dest 推論結果の書き出し先バッファにX,Y,Z,Wの順でnumeric型で格納 サイズはネットファイルのoutputSizeとなる @param dest_size 推論結果の書き出し先バッファのbyte数 @param src 推論データ X,Y,Z,Wの順でnumeric型で格納 サイズはネットファイルのinputSizeとなる @param src_size 推論データのbyte数 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaSetInputBlobData(Pointer<AILIANetwork> net, Pointer<Void> src, int src_size, int blob_idx) int
~japanese @brief 指定したBlobに入力データを与えます。 @param net ネットワークオブジェクトポインタ @param src 推論データ X,Y,Z,Wの順でnumeric型で格納 @param src_size 推論データのbyte数 @param blob_idx 入力するblobのインデックス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 複数入力があるネットワークなどで入力を指定する場合に用います。 blob_idxで入力レイヤーのblob以外のものを指定した場合、 \ref AILIA_STATUS_INVALID_ARGUMENT が返ります。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaSetInputBlobShape(Pointer<AILIANetwork> net, Pointer<AILIAShape> shape, int blob_idx, int version) int
~japanese @brief 指定したBlobの形状を変更します。 @param net ネットワークオブジェクトポインタ @param shape 入力データの形状情報 @param blob_idx 変更するblobのインデックス @param version AILIA_SHAPE_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 複数入力があるネットワークなどで入力形状を変更する場合に用います。 blob_idxは入力レイヤーのblob以外のものを指定した場合 \ref AILIA_STATUS_INVALID_ARGUMENT が返ります。 その他の注意点は ailiaSetInputShape() の解説を参照してください。 入力形状のランクが5次元以上の場合は ailiaSetInputBlobShapeND() を利用してください。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaSetInputBlobShapeND(Pointer<AILIANetwork> net, Pointer<UnsignedInt> shape, int dim, int blob_idx) int
~japanese @brief 指定したBlobの形状を変更します。 @param net ネットワークオブジェクトポインタ @param shape 入力データの各次元の大きさの配列(dim-1, dim-2, ... ,1, 0) @param dim shapeの次元 @param blob_idx 変更するblobのインデックス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 複数入力があるネットワークなどで入力形状を変更する場合に用います。 blob_idxは入力レイヤーのblob以外のものを指定した場合 \ref AILIA_STATUS_INVALID_ARGUMENT が返ります。 その他の注意点は ailiaSetInputShapeND() の解説を参照してください。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaSetInputShape(Pointer<AILIANetwork> net, Pointer<AILIAShape> shape, int version) int
~japanese @brief 推論時の入力データの形状を変更します。 @param net ネットワークオブジェクトポインタ @param shape 入力データの形状情報 @param version AILIA_SHAPE_VERSION @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details prototxtで定義されている入力形状を変更します。 prototxtに記述されているランクと同じにする必要があります。 なお、重み係数の形状が入力形状に依存しているなどによりエラーが返る場合があります。 prototxtで定義されているランクが4次元未満の場合は未使用の要素に1を設定する必要があります。 prototxtで定義されているランクが5次元以上の場合は ailiaSetInputShapeND() を利用してください。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaSetInputShapeND(Pointer<AILIANetwork> net, Pointer<UnsignedInt> shape, int dim) int
~japanese @brief 推論時の入力データの形状を変更します。 @param net ネットワークオブジェクトポインタ @param shape 入力データの各次元の大きさの配列(dim-1, dim-2, ... ,1, 0) @param dim shapeの次元 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details prototxtで定義されている入力形状を変更します。 prototxtに記述されているランクと同じにする必要があります。 なお、重み係数の形状が入力形状に依存しているなどによりエラーが返る場合があります。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaSetMemoryMode(Pointer<AILIANetwork> net, int mode) int
~japanese @brief 推論時のメモリの使用方針を設定します @param net ネットワークオブジェクトポインタ @param mode メモリモード(論理和で複数指定可) AILIA_MEMORY_XXX (デフォルト: \ref AILIA_MEMORY_REDUCE_CONSTANT ) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details メモリの使用方針を変更します。 \ref AILIA_MEMORY_NO_OPTIMIZATION 以外を指定した場合は、 推論時に確保する中間バッファーを開放するため、推論時のメモリ使用量を削減することができます。 ailiaCreate() の直後に指定する必要があります。ailiaOpenを呼び出した後は変更することができません。 なお、中間バッファーを開放するように指定した場合、該当するBlobに対し、 ailiaGetBlobData() を呼び出すと \ref AILIA_STATUS_DATA_HIDDEN エラーが返ります。
ailiaSetProfileMode(Pointer<AILIANetwork> net, int mode) int
~japanese @brief プロファイルモードをセットします @param net ネットワークオブジェクトポインタ @param mode プロファイルモード @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details プロファイルモードを指定します。デフォルトは無効です。 ailiaOpenStreamXXXを呼び出したあとに呼び出してください。 プロファイルモードを有効にした場合、 ailiaSummary() の出力にプロファイル結果が追加されます。
ailiaSetTemporaryCachePathA(Pointer<Char> cache_dir) int
~japanese @brief 一時キャッシュディレクトリを指定します @param cache_dir 一時キャッシュディレクトリ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 指定したキャッシュディレクトリは推論実行環境毎に最適化したマシンコードを生成して保存するためにシステムが利用します。 ailia の実行開始時に一度だけ呼び出してください。二回目以降の呼び出しに対しては無視して成功を返します。 複数スレッドから呼び出された場合も内部で排他制御しているので特に問題は発生しません。 Vulkan のシェーダーキャッシュ機能など、この API を呼ぶまで利用できないものがあります。 cache_dirにはContext.getCacheDir()で取得したファイルパスを指定してください。
ailiaSetTemporaryCachePathW(Pointer<WChar> cache_dir) int
ailiaSummary(Pointer<AILIANetwork> net, Pointer<Char> buffer, int buffer_size) int
~japanese @brief 各Blobの名前と形状を表示します。 @param net ネットワークオブジェクトポインタ @param buffer Summaryの出力先 @param buffer_size 出力バッファのサイズ(終端null文字分を含む)。 ailiaGetSummaryLength() で取得した値を設定してください。 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
ailiaTokenizerAddSpecialTokens(Pointer<AILIATokenizer> net, Pointer<Pointer<Char>> tokens, int count) int
~japanese @brief SpecialTokenの追加を行います。 @param net トークナイザオブジェクトポインタ @param tokens トークン(UTF8) @param count 追加する個数 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details AILIA_TOKENIZER_TYPE_ROBERTAの場合のみ有効です。
ailiaTokenizerCreate(Pointer<Pointer<AILIATokenizer>> net, int type, int flags) int
~japanese @brief トークナイズオブジェクトを作成します。 @param net トークナイザオブジェクトポインタへのポインタ @param type AILIA_TOKENIZER_TYPE_* @param flag AILIA_TOKENIZER_FLAG_*の論理和 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details トークナイズオブジェクトを作成します。
ailiaTokenizerDecode(Pointer<AILIATokenizer> net, Pointer<Int> tokens, int token_count) int
~japanese @brief デコードを行います。 @param net トークナイザオブジェクトポインタ @param tokens デコードするトークン @param token_count トークンの数 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details デコードした結果はailiaTokenizerGetText APIで取得します。 skip_special_tokens=Trueと同様に、Special Tokenは出力しません。
ailiaTokenizerDecodeWithSpecialTokens(Pointer<AILIATokenizer> net, Pointer<Int> tokens, int token_count) int
~japanese @brief スペシャルトークンを含んだデコードを行います。 @param net トークナイザオブジェクトポインタ @param tokens デコードするトークン @param token_count トークンの数 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details デコードした結果はailiaTokenizerGetText APIで取得します。 skip_special_tokens=Falseと同様に、Special Tokenを出力します。
ailiaTokenizerDestroy(Pointer<AILIATokenizer> net) → void
~japanese @brief トークナイズオブジェクトを破棄します。 @param net トークナイザオブジェクトポインタ
ailiaTokenizerEncode(Pointer<AILIATokenizer> net, Pointer<Char> utf8) int
~japanese @brief エンコードを行います。 @param net トークナイザオブジェクトポインタ @param text エンコードするテキスト(UTF8) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 認識した結果はailiaTokenizerGetTokens APIで取得します。 split_special_tokens=Trueと同様に、Special Tokenは分割して文字列として扱われます。
ailiaTokenizerEncodeWithSpecialTokens(Pointer<AILIATokenizer> net, Pointer<Char> utf8) int
~japanese @brief スペシャルトークンを含んだエンコードを行います。 @param net トークナイザオブジェクトポインタ @param text エンコードするテキスト(UTF8) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 認識した結果はailiaTokenizerGetTokens APIで取得します。 split_special_tokens=Falseと同様に、Special Tokenを出力します。
ailiaTokenizerGetCharEnds(Pointer<AILIATokenizer> net, Pointer<Int> char_ends, int count) int
~japanese @brief 終了文字位置を取得します。 @param net トークナイザオブジェクトポインタ @param char_ends 終了文字位置 @param count 格納先トークン数 @param @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaTokenizerEncode() を一度も実行していない場合は \ref AILIA_STATUS_INVALID_STATE が返ります。 AILIA_TOKENIZER_TYPE_ROBERTAとAILIA_TOKENIZER_TYPE_BERTの場合のみ有効です。 各トークンに対応するUTF32単位での終了文字位置が返ります。
ailiaTokenizerGetCharStarts(Pointer<AILIATokenizer> net, Pointer<Int> char_starts, int count) int
~japanese @brief 開始文字位置を取得します。 @param net トークナイザオブジェクトポインタ @param char_starts 開始文字位置 @param count 格納先トークン数 @param @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaTokenizerEncode() を一度も実行していない場合は \ref AILIA_STATUS_INVALID_STATE が返ります。 AILIA_TOKENIZER_TYPE_ROBERTAとAILIA_TOKENIZER_TYPE_BERTの場合のみ有効です。 各トークンに対応するUTF32単位での開始文字位置が返ります。
ailiaTokenizerGetText(Pointer<AILIATokenizer> net, Pointer<Char> text, int len) int
~japanese @brief テキストを取得します。 @param net トークナイザオブジェクトポインタ @param text テキスト(UTF8) @param len バッファサイズ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaTokenizerDecode() を一度も実行していない場合は \ref AILIA_STATUS_INVALID_STATE が返ります。
ailiaTokenizerGetTextLength(Pointer<AILIATokenizer> net, Pointer<UnsignedInt> len) int
~japanese @brief テキストの長さを取得します。(NULL文字含む) @param net トークナイザオブジェクトポインタ @param len テキストの長さ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaTokenizerGetTokenCount(Pointer<AILIATokenizer> net, Pointer<UnsignedInt> count) int
~japanese @brief トークンの数を取得します。 @param net トークナイザオブジェクトポインタ @param count オブジェクト数 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaTokenizerGetTokens(Pointer<AILIATokenizer> net, Pointer<Int> tokens, int count) int
~japanese @brief トークンを取得します。 @param net トークナイザオブジェクトポインタ @param tokens トークン @param count 格納先トークン数 @param @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaTokenizerEncode() を一度も実行していない場合は \ref AILIA_STATUS_INVALID_STATE が返ります。
ailiaTokenizerGetVocab(Pointer<AILIATokenizer> net, int token, Pointer<Pointer<Char>> vocab) int
~japanese @brief Vocabの取得を行います。 @param net トークナイザオブジェクトポインタ @param token トークン @param vocab Vocabのテキスト(UTF8) @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details vocabを解放する必要はありません。 vocabの有効期間は次にailiaTokenizer APIを呼び出すまでになります。
ailiaTokenizerGetVocabSize(Pointer<AILIATokenizer> net, Pointer<UnsignedInt> size) int
~japanese @brief Vocabの数を取得します。 @param net トークナイザオブジェクトポインタ @param size Vocabの要素数 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaTokenizerGetWordIDs(Pointer<AILIATokenizer> net, Pointer<Int> word_ids, int count) int
~japanese @brief ワードIDを取得します。 @param net トークナイザオブジェクトポインタ @param word_ids ワードID @param count 格納先トークン数 @param @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaTokenizerEncode() を一度も実行していない場合は \ref AILIA_STATUS_INVALID_STATE が返ります。 AILIA_TOKENIZER_TYPE_ROBERTAとAILIA_TOKENIZER_TYPE_BERTの場合のみ有効です。
ailiaTokenizerOpenAddedTokensFileA(Pointer<AILIATokenizer> net, Pointer<Char> path) int
~japanese @brief 追加トークンファイルを読み込みます。 @param net トークナイザオブジェクトポインタへのポインタ @param path スペシャルトークンファイルのパス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 追加トークンファイル (json) を読み込みます。AILIA_TOKENIZER_TYPE_WHISPERの場合のみ有効です。
ailiaTokenizerOpenAddedTokensFileW(Pointer<AILIATokenizer> net, Pointer<WChar> path) int
ailiaTokenizerOpenDictionaryFileA(Pointer<AILIATokenizer> net, Pointer<Char> path) int
~japanese @brief 辞書ファイルを読み込みます。 @param net トークナイザオブジェクトポインタへのポインタ @param path Mecabの辞書ファイルのパス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details Mecabの辞書ファイルを読み込みます。AILIA_TOKENIZER_TYPE_BERT_JAPANESE_XXXの場合のみ必要です。
ailiaTokenizerOpenDictionaryFileW(Pointer<AILIATokenizer> net, Pointer<WChar> path) int
ailiaTokenizerOpenMergeFileA(Pointer<AILIATokenizer> net, Pointer<Char> path) int
~japanese @brief マージファイルを読み込みます。 @param net トークナイザオブジェクトポインタへのポインタ @param path マージファイルのパス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details マージファイル (txt) を読み込みます。AILIA_TOKENIZER_TYPE_ROBERTAもしくはAILIA_TOKENIZER_TYPE_WHISPERもしくはAILIA_TOKENIZER_TYPE_GPT2の場合のみ有効です。
ailiaTokenizerOpenMergeFileW(Pointer<AILIATokenizer> net, Pointer<WChar> path) int
ailiaTokenizerOpenModelFileA(Pointer<AILIATokenizer> net, Pointer<Char> path) int
~japanese @brief モデルファイルを読み込みます。 @param net トークナイザオブジェクトポインタへのポインタ @param path SentencePieceのモデルファイルのパス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details SentencePieceのモデルファイルを読み込みます。AILIA_TOKENIZER_TYPE_XLM_ROBERTAもしくはAILIA_TOKENIZER_TYPE_MARIANの場合のみ必要です。
ailiaTokenizerOpenModelFileW(Pointer<AILIATokenizer> net, Pointer<WChar> path) int
ailiaTokenizerOpenTokenizerConfigFileA(Pointer<AILIATokenizer> net, Pointer<Char> path) int
~japanese @brief コンフィグファイルを読み込みます。 @param net トークナイザオブジェクトポインタへのポインタ @param path コンフィグファイルのパス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details トークナイザコンフィグファイル (json) を読み込みます。AILIA_TOKENIZER_TYPE_BERTの場合のみ有効です。
ailiaTokenizerOpenTokenizerConfigFileW(Pointer<AILIATokenizer> net, Pointer<WChar> path) int
ailiaTokenizerOpenVocabFileA(Pointer<AILIATokenizer> net, Pointer<Char> path) int
~japanese @brief 単語ファイルを読み込みます。 @param net トークナイザオブジェクトポインタへのポインタ @param path 単語ファイルのパス @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details 単語ファイル (ROBERTAとWHISPERとGPT2はjson、それ以外はtxt) を読み込みます。
ailiaTokenizerOpenVocabFileW(Pointer<AILIATokenizer> net, Pointer<WChar> path) int
ailiaTokenizerUtf32ToUtf8(Pointer<Char> utf8, Pointer<UnsignedInt> processed_byte, int utf32) int
~japanese @brief UTF32の文字をUTF8の文字に変換します。 @param utf8 UTF8の文字(4byte以上必要) @param processed_byte 書き込んだ文字数(UTF8) @param utf32 UTF32の文字 @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaTokenizerUtf8ToUtf32(Pointer<UnsignedInt> utf32, Pointer<UnsignedInt> processed_byte, Pointer<Char> utf8, int utf8_len) int
~japanese @brief UTF8の文字をUTF32の文字に変換します。 @param utf32 UTF32の文字 @param processed_byte 消費したバイト数(UTF8) @param utf8 UTF8の文字 @param utf8_len バッファサイズ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。
ailiaUpdate(Pointer<AILIANetwork> net) int
~japanese @brief 事前に指定した入力データで推論を行います。 @param net ネットワークオブジェクトポインタ @return 成功した場合は \ref AILIA_STATUS_SUCCESS 、そうでなければエラーコードを返す。 @details ailiaSetInputBlobData() を用いて入力を与えた場合などに用います。 推論結果は ailiaGetBlobData() で取得してください。 このAPIはailiaOpenWeighXXX呼び出し後より利用可能です。
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited