javascript - 在本地 Web 应用程序中的 javascript 中加载 json 预训练模型时出错
问题描述
目前我正在使用TensorFlow在python中训练一个模型并将其保存为model.json以及名为models的文件夹中的BIN文件,如下所示。我想做一个可以加载这个预训练模型进行预测的 Web 应用程序。但是,我遇到了错误Failed to load resource: net::ERR_NAME_NOT_RESOLVED
我已经google了解决方案并尝试了几种方法,但错误仍然无法解决。
该模型在 .py 文件中进行了训练,并使用此行保存到 .json
tfjs.converters.save_keras_model(model, 'models')
供您参考,我在应用程序中使用 node.js 和 ExpressJs,因此,使用 EJS 文件而不是 HTML 文件。
EJS 文件
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" >
<link rel="stylesheet" type="text/css" href="/style/digit.css">
</head>
<body>
<main>
<p1>text here</p1>
</main>
<script src="/js/digit-recognition.js"></script>
</body>
</html>
在digit-recognition.js文件中
let model;
async function loadModel() {
console.log("model loading..");
model = undefined;
model = await tf.loadLayersModel("models/model.json");
console.log("model loaded..");
}
loadModel();
$("#predict-button").click(async function () {
let predictions = await model.predict(tensor).data();
let results = Array.from(predictions);
console.log(results);
});
我收到控制台中显示的以下错误:
Failed to load resource: net::ERR_NAME_NOT_RESOLVED
更新于 2020 年 11 月 27 日上午 1131
我在网上尝试了许多建议的解决方案,但仍然无效,我得到的错误是现在
GET http://localhost:3000/models/model.json 404 (Not Found)
解决方案
我相信这是一个路径问题。如果将models/
文件夹移动到文件js/
夹中,该digit-recognition.js
文件应该可以找到它。
推荐阅读
- php - 如何使用 ajax 显示我插入的记录?
- java - 使用 Spring Elasticsearch 数据存储库构建查询
- swift - 如何修复警报
- c# - 桌面和移动的不同风格视图 | asp.net 核心 2 mvc5
- css - 为什么我的 CSS 网格没有包含它的子元素?
- swift - 应用程序提交可接受的 swift 版本是什么?
- drive - 如何查看保存在 Google Drive 中的 readme.md 文件
- java - 当文件达到最大大小时,RollingFileAppender 不起作用
- highcharts - 导出到 CSV 的日期时间不正确
- git - 我有适用于 clearcase 的 ant 脚本。谁能帮我把它转换成 GIT