收藏
回答

使用PoseNet时如何缓存模型,减少模型网络请求

问题类型 插件 AppID 插件版本号 AppID 微信版本 基础库版本
需求 wx6afed118d9e81df9 0.1.0 wxf9ccc8b00d016a50 所有版本 2.11.3

在使用posenet.load 时如何缓存模型,达到没吃load时减少模型的网络请求

最后一次编辑于  2021-06-08
回答关注问题邀请回答
收藏

1 个回答

  • ؞咬了你؞F࿆ū࿆t࿆ū࿆r࿆ē࿆
    ؞咬了你؞F࿆ū࿆t࿆ū࿆r࿆ē࿆
    2021-06-08

    posenet.load(cfg)

    其中cfg是可以设置modelUrl,假设你模型已经在小程序的文件目录

    那么你可

    const fileStorageHandler = tf_plugin.fileStorageIO(
    	/* 这里填小程序本地模型的路径 */, 
    	wx.getFileSystemManager()
    )
    cfg.modelUrl = fileStorageHandler
    

    

    然后再posenet.load(cfg)就行了,模型就不会到网上拉了

    2021-06-08
    有用
    回复 5
    • 展昭
      展昭
      2021-06-15
      我想用的是
      const fileStorageHandler = getApp().globalData.fileStorageIO(
              FILE_STORAGE_PATH, wx.getFileSystemManager());
          try {
            this.model = await tfc.loadGraphModel(fileStorageHandler);
          } catch (e) {
            this.model =
              await tfc.loadGraphModel(MODEL_URL);
            this.model.save(fileStorageHandler);
          }
      这种机制,但我看了posenet源码并没有使用this.model.save();  
      在调用posenet.load的时候又不知道如何去缓存这个模型
      2021-06-15
      回复
    • ؞咬了你؞F࿆ū࿆t࿆ū࿆r࿆ē࿆
      ؞咬了你؞F࿆ū࿆t࿆ū࿆r࿆ē࿆
      2021-06-16回复展昭
      https://ai.flypot.cn/models/posenet/model.json
      这里有个模型可以用
      2021-06-16
      回复
    • ؞咬了你؞F࿆ū࿆t࿆ū࿆r࿆ē࿆
      ؞咬了你؞F࿆ū࿆t࿆ū࿆r࿆ē࿆
      2021-06-16回复展昭
      你不用那么依赖posenet自己的api,你完全可以自己把模型下下来,放到自己的网站或者COS或者OSS上,然后自己来实现下载之后调用缓存的逻辑
      2021-06-16
      回复
    • 展昭
      展昭
      2021-06-17
      谢谢   已经调整好了
      2021-06-17
      回复
    • Oswald
      Oswald
      2022-06-07回复展昭
      你好 怎么调整的
      2022-06-07
      回复
登录 后发表内容