我有 Android 本机代码(C++
共享对象),希望在创建 APK 时read
对保存在文件夹中的文件进行建模。assets
Tensorflow Lite 有两个 API:FromFile 和 FromBuffer
static std::unique_ptr<FlatBufferModel> BuildFromFile(const char* filename, ErrorReporter* error_reporter);
static std::unique_ptr<FlatBufferModel> BuildFromBuffer(const char* buffer, size_t buffer_size, ErrorReporter* error_reporter);
使用以下代码,我可以访问 FromBuffer:
Java
代码:
private AssetManager mgr;
// Get mgr
mgr = getResources().getAssets();
C++
代码:
AAssetDir* assetDir = AAssetManager_openDir(mgr, "");
const char* filename = (const char*)NULL;
while ((filename = AAssetDir_getNextFileName(assetDir)) != NULL) {
AAsset* asset = AAssetManager_open(mgr, filename, AASSET_MODE_STREAMING);
char buf[BUFSIZ];
int nb_read = 0;
FILE* out = fopen(filename, "w");
while ((nb_read = AAsset_read(asset, buf, BUFSIZ)) > 0)
fwrite(buf, nb_read, 1, out);
fclose(out);
AAsset_close(asset);
}
AAssetDir_close(assetDir);
任何想法,如何访问assets
文件夹以使用BuildFromFile
?