【AI研发日记4】根据截图识别出错误类型并给出相应的解决方案

该博客介绍了使用深度学习模型进行错误类型识别的过程,通过Faster R-CNN实现图像检测并连接Neo4j数据库获取解决方案。尽管模型在验证集上表现出色,但因数据量不足,相似错误截图可能被误分类。文章讨论了AI模型部署的后续步骤,并展示了简单的交互式预测DEMO。
摘要由CSDN通过智能技术生成

根据昨天训练一晚炼丹出来的结果,选取模型

炼出来很多丹药啊,我们只需要选取验证集损失较低的模型进行预测即可
在这里插入图片描述

验证集损失较低不代表mAP较高,仅代表该权值在验证集上泛化性能较好,因此还得要验证一下,运行get_map.py,得出以下结果:

在这里插入图片描述
可以看到验证集基本置信度都为1,因此这个模型是可以使用的。

验证完成就可以开始进行预测了!我们写了一个简单的demo进行预测,通过识别出来的label链接图数据库返回对应的解决方案,代码如下:

import tkinter as tk
import os
from tkinter import filedialog
from shutil import copyfile
from frcnn import FRCNN
import time

import cv2
import numpy as np
import tensorflow as tf
from PIL import Image
import tkinter as tk
import os
from tkinter import filedialog
from shutil import copyfile
from connect_neo4j import FindSolutions
import tkinter.messagebox as msgbox

gpus = tf.config.experimental.list_physical_devices(device_type='GPU')
for gpu in gpus:
    tf.config.experimental.set_memory_growth(gpu, True)


def upload_file():
    selectFile = tk.filedialog.askopenfilename()
    entry1.insert(0, selectFile)
    print(entry1.get())
    imgpath = entry1.get()
    image = Image.open(imgpath)
    image, list_label = frcnn.detect_image(image, crop=crop)
    image.show()
    print(list_label)
    fs = FindSolutions()
    str1 = ''
    for i in list_label:
        sql1 = "MATCH (q:Question{name:'%s'})  -[r:解决方案]->(s:Solution) return q.name,s.name, s.programme" % i
        ress = fs.search_main(sql1)
        l = "%s:%s" % (i, ress)
        str1 = str1 + l + "\n"
    msgbox.showinfo(title='', message='%s' % str1)
frcnn = FRCNN()
crop = False
video_path = 0
video_save_path = ""
video_fps = 25.0
dir_origin_path = "img/"
dir_save_path = "img_out/"
root = tk.Tk()
frm = tk.Frame(root)
frm.grid(padx='20', pady='30')
btn = tk.Button(frm, text='上传文件', command=upload_file)
btn.grid(row=0, column=0, ipadx='3', ipady='3', padx='10', pady='20')
entry1 = tk.Entry(frm, width='40')
entry1.grid(row=0, column=1)
entry1.grid(row=0, column=1)
root.mainloop()

显示效果如下:

简单的图片选择
在这里插入图片描述
成功识别出对应的错误类型
在这里插入图片描述

返回对应的解决方案:
在这里插入图片描述
解决方案和错误的对应关系在neo4j里面:
在这里插入图片描述

成功完成demo!
不过因为数据量不足训练的不够多,还会出现如下问题,比较相似的报错截图会识别成同一种错误:

在这里插入图片描述

一路走下来,AI这一个简单的流程剩下的最后一块拼图便是部署了,接下来我们会研究如何部署tf训练好的模型,然后根据计划开始重构需求所需的技术架构图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值