网页应用加载model.json失败求助:已导入tfjs-node仍报错
问题解决:TensorFlow.js加载模型文件路径错误
核心问题原因
你的代码里路径使用了单个反斜杠\,在JavaScript字符串中\是转义字符,导致'atrbts\json\model.json'被解析成了atrbtsjsonmodel.json(\j和\m被转义后消失),这就是报错提示文件不存在的直接原因。
修复方案
1. 修正路径写法
使用以下两种方式之一确保路径正确解析:
- 使用正斜杠
/(跨Windows、Linux、Mac平台兼容):const handler = tfn.io.fileSystem('atrbts/json/model.json'); - 使用双反斜杠
\\(Windows系统下的标准转义写法):const handler = tfn.io.fileSystem('atrbts\\json\\model.json');
2. 确认文件实际位置
- 确保
model.json和对应的bin文件确实存放在项目根目录下的atrbts/json/文件夹中 - 可以在代码中打印当前脚本目录,验证路径是否匹配:
console.log('当前脚本目录:', __dirname);
3. 完整可运行代码示例
const tf = require('@tensorflow/tfjs') const tfn = require('@tensorflow/tfjs-node') async function loadModel(){ const handler = tfn.io.fileSystem('atrbts/json/model.json'); const model = await tf.loadLayersModel(handler); console.log("Model loaded") } // 调用加载函数并捕获异常 loadModel().catch(err => console.error('加载失败:', err));
内容的提问来源于stack exchange,提问作者Harshal Mehta
相关产品推荐
相关产品推荐

