docs/how-to-use-and-FAQ/ncnn-load-model.md
| load from | alexnet.param | alexnet.param.bin | alexnet.bin |
|---|---|---|---|
| file path | load_param(const char*) | load_param_bin(const char*) | load_model(const char*) |
| file path | |||
| (wchar_t for windows) | load_param(const wchar_t*) | load_param_bin(const wchar_t*) | load_model(const wchar_t*) |
| file descriptor | load_param(FILE*) | load_param_bin(FILE*) | load_model(FILE*) |
| file memory | load_param_mem(const char*) | load_param(const unsigned char*) | load_model(const unsigned char*) |
| android asset | load_param(AAsset*) | load_param_bin(AAsset*) | load_model(AAsset*) |
| android asset path | load_param(AAssetManager*, const char*) | load_param_bin(AAssetManager*, const char*) | load_model(AAssetManager*, const char*) |
| custom IO reader | load_param(const DataReader&) | load_param_bin(const DataReader&) | load_model(const DataReader&) |
Either of the following combination shall be enough for loading model
Never modify Net opt member after loading
Most loading functions return 0 if success, except loading alexnet.param.bin and alexnet.bin from file memory, which returns the bytes consumed after loading
It is recommended to load model from Android asset directly to avoid copying them to sdcard on Android platform
The custom IO reader interface can be used to implement on-the-fly model decryption and loading