我试图在React native中将自定义模型加载到tensorflow.js中,但是在尝试加载它时出现以下错误。
Unable to resolve "../model/group1-shard1of1.bin" from "screens/CameraView.js"
undefined Unable to resolve module `../model/group1-shard1of1.bin` from `screens/CameraView.js`:
const modelJSON = require("../model/model.json");
const modelWeights = require("../model/group1-shard1of1.bin");
useEffect(() => {
(async () => {
const { status } = await Camera.requestPermissionsAsync();
setHasPermission(status === "granted");
})();
(async () => {
try {
const model = await tf.loadLayersModel(
bundleResourceIO(modelJSON, modelWeights)
);
console.log("Model loaded");
} catch (e) {
console.log(e);
}
})();
(async () => {
await tf.ready();
setTFReady(true);
})();
// console.log(isTFReady);
}, []);
答案 0 :(得分:0)
通过将带有以下代码的metro.config.js文件添加到项目目录的根目录来解决该问题
const { getDefaultConfig } = require('metro-config');
module.exports = (async () => {
const defaultConfig = await getDefaultConfig();
const { assetExts } = defaultConfig.resolver;
return {
resolver: {
// Add bin to assetExts
assetExts: [...assetExts, 'bin'],
}
};
})();