dvb*_*len 9 json tensorflow tensorflow.js
我已重新训练 Mobilenet 模型并将其转换为 model.json 文件。该文件已加载到我的图像分类平台中(获得 200 OK 状态代码),但未被识别为正确的 json。
我已经使用这些网站来验证我的 json 文件
https://jsonformatter.curiousconcept.com/
两者都将我的文件返回为经过验证的 json。
其他两个 JSON 文件以相同的方式加载到页面中,并且它们不返回任何错误
但我仍然不断收到此错误:
Uncaught (in promise) Error: Failed to parse model JSON of response from https://localhost/pathto/model.json. Please make sure the server is serving valid JSON for this request.
有谁知道该文件可能有什么问题?
编辑:我没有以任何方式接触 model.json,我只是将其加载到我的 index.js 文件中并收到错误。
这也是我的index.js(完整版本):
const MODEL_URL =
"https://localhost/tfjs_models/model.json";
const WEIGHTS_URL =
"https://localhost/tfjs_models/weights_manifest.json";
let model;
let IMAGENET_CLASSES = [];
let offset = tf.scalar(128);
async function loadModelAndClasses() {
$.getJSON(
"https://localhost/tfjs_models/labels.json",
function(data) {
$.each(data, function(key, val) {
IMAGENET_CLASSES.push(val);
});
}
);
model = await tf.loadGraphModel(MODEL_URL, WEIGHTS_URL);
//console.log("After model is loaded: " + tf.memory().numTensors);
$(".loadingDiv").hide();
$("#inputImage").attr("disabled", false);
}
loadModelAndClasses();
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function(e) {
$("#imageSrc")
.attr("src", e.target.result)
.width(224)
.height(224);
};
reader.readAsDataURL(input.files[0]);
//console.log("After image is loaded: " + tf.memory().numTensors);
reader.onloadend = async function() {
console.log("Before predictions: " + tf.memory().numTensors);
let imageData = document.getElementById("imageSrc");
//console.log("After offset: " + tf.memory().numTensors);
let pixels1 = tf.fromPixels(imageData);
let pixel2 = pixels1.resizeNearestNeighbor([224, 224]);
let pixel3 = pixel2.toFloat();
console.log("After pixels are formed: " + tf.memory().numTensors);
let pixels = pixel3.sub(offset);
let pixels4 = pixels.div(offset);
let pixels5 = pixels4.expandDims();
console.log("After pre-processing: " + tf.memory().numTensors);
const output = await model.predict(pixels5);
console.log("After output: " + tf.memory().numTensors);
const predictions = Array.from(output.dataSync())
.map(function(p, i) {
return {
probabilty: p,
classname: IMAGENET_CLASSES[i]
};
})
.sort((a, b) => b.probabilty - a.probabilty)
.slice(0, 10);
//console.log(predictions);
var html = "";
for (let i = 0; i < 10; i++) {
html += "<li>" + predictions[i].classname + "</li>";
}
$(".predictionList").html(html);
console.log("After predictions: " + tf.memory().numTensors);
pixels.dispose();
pixels1.dispose();
pixel2.dispose();
pixel3.dispose();
pixels4.dispose();
pixels5.dispose();
output.dispose();
console.log("After dispose: " + tf.memory().numTensors);
};
}
}
Run Code Online (Sandbox Code Playgroud)
这是由 TensorflowJS Converter 生成的模型的链接。
模型加载错误。这是文档
这应该足以加载模型
model = await tf.loadGraphModel(MODEL_URL)
Run Code Online (Sandbox Code Playgroud)
weights_manifest.json不需要提供的需求
| 归档时间: |
|
| 查看次数: |
5567 次 |
| 最近记录: |