描述
嗨,伙计们!
我正在学习如何使用Tensorflow.js在具有WebGPU功能的Web浏览器中运行DNN。
示例1
因此,我首先使用MobileNet示例(来源)作为Tensorflow.js的起始点。但是,该示例不使用WebGPU后端的Tensorflow.js。因此,我修改了index.js的前几行以使用WebGPU后端,如下所示:
import * as tf from '@tensorflow/tfjs';
import '@tensorflow/tfjs-backend-webgpu'
import { IMAGENET_CLASSES } from './imagenet_classes';
tf.setBackend('webgpu');然后,按照npm install和npm run watch,该示例确实运行并可以执行DNN推断。
然而,当我看到Chrome终端输出时,我看到一条警告:
此设备不支持时间戳查询扩展。启动带有标志的Chrome浏览器--禁用-黎明-特性=不安全的apis,然后再试一次。或者在启用分析模式时,内核时间显示为零。对于webgpu来说,使用performance.now是不可行的,因为它不支持同步地从GPU读取数据。
例2
我尝试过的另一个例子是WebGPU和Tensorflow.js的WebGL后端在Tensorflow.js的正式回购中的性能基准。来源
我使用python3 -m http.server在perf文件夹中运行HTTP服务器,并运行基准测试。但是,生成的结果表明,Tensorflow.js在WebGPU上运行基准测试时无法获得执行时间。此外,浏览器的终端中也出现了support timestamp-query extension警告。
我实验的执行环境
我正在使用MacBook Pro M1 Max (内置GPU) + (106.0.5205.0)
我试过的努力
为了使timestamp-query extension正常工作,按照警告中的说明,我尝试了
./Google Chrome Canary --args --disable-dawn-features=disallow_unsafe_apis然而,这个技巧并不需要任何努力。
所以请你们给我一个提示,我可以启用这个功能?
发布于 2022-08-03 00:37:56
此设备不支持时间戳查询扩展。
这只是一条信息消息,而不是错误,因为tfjs不需要时间戳查询扩展,除非您是在调试模式下运行或使用webgl1运行(显然不是这样)。
它不应该在生产模式下打印,但是tfjs-backend-webgpu是alpha版本。
https://stackoverflow.com/questions/73151652
复制相似问题