通过Wechaty使用深度学习模型预测图片类型

Use wechaty to apply pytorch model via WeChat.

想法

在跑深度学习模型时,我时常会感觉调用一个模型好复杂,需要写好长好长的代码,而我又没有学过小程序开发,于是想到做一个用微信快速调用模型的小玩意儿。

本项目即是通过wechaty与微信通讯,利用fastapi中转数据并调用pytorch模型的实践。

同时,目前该项目仅仅作为一个MVP(最小可行产品),功能可能并不完善,在未来或许会加入模型训练完毕提醒/模型训练意外终止提醒等功能,敬请期待~

完整代码见https://github.com/lyleshaw/WeChaty-Torch

原理

  • 用户在微信发送图片–>
  • –>wechaty收到图片并进行base64后post请求到后端–>
  • –>使用fastapi开发的后端收到图片的base64编码后调用模型–>
  • –>模型给与预测与置信度表传给后端–>
  • –>后端收到后向wechaty响应–>
  • –>wechaty收到数据后发送给用户.

文件结构

  • wechaty-torch.tstypescript文件,使用wechaty与微信通讯;
  • main.py后端文件,基于fastapi开发,中转图片数据;
  • model.py模型调用文件,给出预测和置信度;
  • model.pth**(由于模型文件过大,请按快速开始的说明手动下载)**模型文件(二进制),使用WideResNet在CIFAR-10数据集上进行训练,测试集准确率91.22%.

依赖库

typescript:请按照wechaty文档安装.

python:fastapi,uvicorn,torch,numpy,PIL

快速开始

请确保您已将所有依赖环境安装成功

  1. 点击这里 下载model.pth,并将model.pth放到项目文件夹下
  2. wechaty-torch.ts文件的const token = 'YOUR_TOKEN_HERE'处填入您的token(获取方式见wechaty文档);
  3. model.py文件的os.chdir("Your PATH")处修改为您的文件路径;
  4. 运行main.py后运行wechaty-torch.ts.

开发过程

wechaty部分

首先创建一个名叫wechaty-torch的bot;

import {
    Message, Wechaty } from 'wechaty'
import {
    ScanStatus } from 'wechaty-puppet'
import {
    PuppetPadplus } from 'wechaty-puppet-padplus'
import QrcodeTerminal from 'qrcode-terminal'
var request = require('request')
const token = 'YOUR_TOKEN_HERE'
const puppet = new PuppetPadplus({
   
  token,
})
const name  = 'wechaty-torch'
const bot = new Wechaty({
   
  name: name,
  puppet,
})

然后扫码登录后,显示登录帐号;

bot.on('scan', (qrcode, status) => {
   
  if (status === ScanStatus
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值