javascript - 如何更新 Tensorflow.js 模型的权重?
问题描述
我目前有一个 tensorflow.js 卷积神经网络模型,可以检测某些图像是快乐还是悲伤(基于面部表情)。这是通过浏览器完成的,用户上传面部图像或使用网络摄像头,然后模型确定结果。但是,如果模型预测不正确,用户也可以选择覆盖此结果。
如果用户决定覆盖结果,我打算做的是使用用户上传的图像重新训练模型。我知道这可以通过 tensorflow.js API 中的 model.fit 和 model.save 函数来完成。
我担心的是模型权重当前存储在谷歌云存储桶中,但我不确定如何更新文件以便在用户下次通过面部时重用更新的权重。有没有某种方法可以使用谷歌云或其他类似的云存储来完成它,而不必每次都更改 model.load 链接?
我知道这是一个相当模糊的问题,但我无法访问 indexeddb,因此云存储似乎是存储权重以供浏览器访问和更新的最佳选择。我只是不确定如何在不更改以后通过 model.load 访问模型的链接的情况下保存模型。
解决方案
您可以通过设置 Object Versioning来更新 Cloud Storage 存储桶中对象的数据。唯一的问题是,如果您想访问以前版本的对象,则必须使用世代号,如下所示:
gs://[BUCKET_NAME]/[OBJECT_NAME]#[GENERATION_NUMBER]
推荐阅读
- css - 使内联元素包含换行符
- git - TortoiseGit 可以使用 Google Cloud Source 存储库的存储库吗?
- c# - 发布时 SOAP UI 不返回预期的输出
- php - 将文件上传到谷歌云存储(php curl)
- regex - 使用 vbscript 检索文件中的函数名称
- image-processing - HSI、HSL 和 HSV 的区别及其相应的应用
- path - 跟随路径动作完成后,SKNode的结束位置并不总是正确的
- angular - 量角器无法在已部署的应用程序上检测到 Angular 5
- python - 如何将选择显示名称传递给 Django REST 框架中的模型序列化?
- php - SQL 从一个表中拆分逗号分隔列表,并根据此列表从第二个表中打印内容