<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      NSFW.js 前端使用教程

      引用js + 下載模型

      先看文檔 https://github.com/infinitered/nsfwjs
      非常好,一點也看不懂。總之,先引js,不知道去哪里下載js就上jsdelivr搜一搜
      按順序引:
      https://www.jsdelivr.com/package/npm/@tensorflow/tfjs
      https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@4.1.0/dist/tf.min.js

      https://www.jsdelivr.com/package/npm/nsfwjs
      https://cdn.jsdelivr.net/npm/nsfwjs@2.4.2/dist/nsfwjs.min.js
      接下來就是非常普通的引用,相信大家都會
      nsfwjs有一個很吵鬧的加載提示,可以自己找到位置給注釋掉
      image
      再看一遍文檔,emm,這次就看懂了 首先下載模型
      https://github.com/GantMan/nsfw_model
      他有一個鏈接,指向“最新的”Releases,不要信這個
      image

      image
      周所周知 1.1 < 1.2
      上這里找:https://github.com/GantMan/nsfw_model/tags
      然后1.2的版本里有兩個帶model.json的文件夾,大的好像更準
      模型有幾種加載參數,最好的方法就是都試一遍
      接下來是加載模型 (自己改模型地址)

      let model = await nsfwjs.load("js/nsfw/mobilenet_v2_140_224/web_model/", {type: 'graph'});
      // 加載模型時返回的是 `Promise`
      // reslove回來的就是加載后的模型本體
      
      // 這里就是判定,判定一般會有五個結果(看你用的什么模型,官方的一直都是五個)
      let p = await model.classify(img);
      if(p[0].className=="Hentai"||p.find(v => v.className == "Hentai").probability>0.1) {
          return true;
      } else {
          return false;
      }
      

      model.classify里面可以放視頻的節點,圖片的節點,以及canvas等等,視頻是你播到哪里,他取的圖片就在哪里
      主要是要了解每一次返回的是什么,要想真正了解就多寫幾個console.log

      蒟蒻寫的代碼 (自己改模型地址)

      let nsfw = {
          inited: false,
          init: async function () {
              if(!nsfw.inited) {
                  nsfw.model = await nsfwjs.load("js/nsfw/mobilenet_v2_140_224/web_model/", {type: 'graph'});
              }
              nsfw.inited = true;
              return nsfw.model;
          },
          check: async function (img, type="Hentai") {
              if(!nsfw.inited) {
                  await nsfw.init();
              }
              let p = await nsfw.model.classify(img);
              if(p[0].className==type||p.find(v => v.className == type).probability>0.1) {
                  return true;
              } else {
                  return false;
              }
          }
      };
      // 使用非常的簡單,可以直接,會自動初始化(加載模型)
      nsfw.check(img);
      nsfw.check(video);
      nsfw.check(canvas);
      nsfw.check(imgData);
      // 也可以手動初始化
      nsfw.init();
      

      大總結!

      1. 引入js
      2. 加載模型
      3. 判定圖片

      圖片判定的非常快,完全不用擔心卡死頁面

      posted @ 2022-12-27 13:03  月神的使者  閱讀(1350)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产精品成| 国产亚洲精品久久久久久大师 | 99视频偷窥在线精品国自产拍| 亚洲av成人无码精品电影在线| 环江| 怡红院一区二区三区在线| 日韩熟女精品一区二区三区| 香蕉乱码成人久久天堂爱| 中国CHINA体内裑精亚洲日本| 亚洲成a人片在线视频| 精品午夜福利在线视在亚洲| 久久人人爽人人人人爽av| 日本久久香蕉一本一道| 国产极品视频一区二区三区| yyyy在线在片| 亚洲精品一品区二品区三品区 | 国产精品自拍午夜福利| 日本高清在线播放一区二区三区| 欧美高清狂热视频60一70| 国产高清在线精品一区二区三区| 丁香五月婷激情综合第九色| 国产精品ⅴ无码大片在线看 | 亚洲中文字幕一区二区 | 无码人妻丰满熟妇啪啪欧美| 亚洲精品韩国一区二区| 亚洲中文字幕无码久久精品1| 蜜桃精品成人影片| 国产中文三级全黄| 熟女精品色一区二区三区| 国产农村老太xxxxhdxx| 国产粉嫩高中无套进入| 国产一区二区三区禁18| 亚洲二区中文字幕在线| 精品综合久久久久久97| 招远市| 日日碰狠狠添天天爽五月婷| 国产精品国产三级国产专业| 被喂春药蹂躏的欲仙欲死视频| 政和县| 狠狠v日韩v欧美v| 日韩精品国产中文字幕|