正如tensorflowjs github中所建议的,我在这里发布了这个问题。下面是错误,在最简单的例子中,可以使用tensorflow。
错误:

代码:--一个只加载的简单html片段。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.15.3/dist/tf.min.js"></script>
<title>Testing Tfjs</title>
</head>
<body>
<h2>Testing Tfjs</h2>
</body>
</html>浏览器: Chrome版本72.0.3626.119
操作系统: Win 10,GPU: GT 740米,版本397.44。
Chrome显示:(因为我禁用了hw加速,以避免有时的铬黑)
WebGL: Software only, hardware acceleration unavailable,
WebGL2: Software only, hardware acceleration unavailable我已经尝试过将后端显式地设置为cpu,但是没有帮助。我曾在github上看到其他帖子谈到这个错误,但都是徒劳的。
发布于 2020-11-19 09:21:53
对不起,我的英语不好。
和我的案子一样。就我而言..。“此设备不支持webgl”和"tf.setBackend('webgl')“返回false。
Tensorflow需要硬件加速。
打开chrome://gpu,然后检查
检测到问题。
Gpu组合已被禁用,无论是通过区块列表,关于:标志或命令行。浏览器将返回到软件组合,硬件加速将不可用。残疾特征: gpu_compositing
然后goto ://标志/搜索“覆盖软件呈现列表”> set启用>重新启动浏览器
谢谢。
发布于 2019-03-04 13:12:52
因此,既然您发布了关于:gpu的结果,显示您只为WebGL获得软件呈现,这意味着tensorflow.js正在将failIfMajorPerformanceCaveat上下文创建标志传递给WebGL,这几乎肯定会导致软件呈现失败。
我们可以通过重写getContext并打印出创建标志进行检查。
<script>
HTMLCanvasElement.prototype.getContext = function(type, parameters) {
console.log(JSON.stringify(parameters, null, 2));
return null;
};
</script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.15.3/dist/tf.min.js"></script>
所以我看到了这些结果
{
"alpha": false,
"antialias": false,
"premultipliedAlpha": false,
"preserveDrawingBuffer": false,
"depth": false,
"stencil": false,
"failIfMajorPerformanceCaveat": true <====-------
}所以它才会打印警告。
尽管如此,这只是一个警告。tensorflow.js还在运行。注意(a)上面写着两个警告,而不是两个错误。(b)以黄色而非红色展示。

使用console.warn vs console.error,您可以看到不同之处

tensorflow.js运行得非常好。下面是一个例子。我攻击过getContext,所以它总是失败,所以tensorflow.js无法获得WebGL上下文。它打印两个警告,但它也运行得很好。滚动到消息的底部,您将看到它运行示例tensorflow代码的结果。
const d = tf.tensor2d([[1.0, 2.0], [3.0, 4.0]]);
const d_squared = d.square();
d_squared.print();<script>
HTMLCanvasElement.prototype.getContext = function() {
return null;
};
</script>
<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.15.3/dist/tf.min.js"></script>
https://stackoverflow.com/questions/54971976
复制相似问题