文章目录
0、部分代码和论文都有的网站
:https://paperswithcode.com/
1、FLOPs torch实现
https://www.cnblogs.com/king-lps/p/10904552.html
2、pickle模块–解码cifar10数据集
是进行序列化和反序列化的模块
import pickle
file="cifar10"
def unpickle(file):
with open(file,"rb") as fo:
dict = pickle.load(fo,encoding="bytes")
return dict
dict = unpickle(file)
print("dict 的数据类型为",type(dict))
print(dict.keys())
cifar10图片信息是一个一维向量的的存储形式,红绿蓝各自拼接
3、定义网络后网络结构可以直接输出网络结构
def squeezenet(class_num=0):
model = Squeezenet(class_num=class_num)
if use_cuda:
model=model.cuda()
return model
net = sequeezenet()
print(net)
x=torch.randn(5,3,32,32).cuda
y = net(x)
y.shape
# 会输出(【5,10】)五张图片,每张预测10各类别
4、判断机器是否支持cuda
use_cuda = torch.is_available() # 返回一个bool值
if use_cuda:
print("support")
else:
print("no")
dtype = torch.cuda.FloatTensor if use_cuda else torch.FloatTensor
5、模型训练的过程
打开训练模式
读取图片,第几个batch,图片和标签对应
传入cuda
梯度清零,不让梯度累积
网络预测
交叉熵损失
top1,top5:按行取每张图片网络输出的前5个最大值得数值和位置索引
真实值和预测值进行转化====得到下面的一组组对比
用eq进行预测,输出比较的结果
top5的结果:
6、多标签分类任务的评价指标-mAP
http://blog.sina.com.cn/s/blog_9db078090102whzw.html
提炼一下:
用训练好的模型得到测试的confidence score
7、resize和crop的
区别在于,前者带差值的变化,后者直接进行裁剪
8、random,
是指按照给定的概率进行随机
9、读取非内置的数据集,以文件夹分类的数据集
dataset = ImageFolder("")# 其实是个是个内置函数 torchvision.datasets.ImageFolder()
print(len(dataset))# 一共有多少张
print(dataset.class_to_index)# 输出一个字典,值是文件夹的名字,键是类别
10、可以对处理好的图片进行可视化
t=get_timg_train()
for i,(img,label) in enumerate(t):
if i <1:
print(img.size(),label)
break
# 返回torch.Size([4,3,64,64]) tensor([116,140,139,124]) 一个batch4张,每张的类别
11、SSD:这里下面都比较乱,整理好了再来看(更新中)
https://github.com/kuhung/SSD_keras
https://github.com/bubbliiiing/efficientdet-pytorch
https://github.com/bubbliiiing/ssd-keras
https://github.com/georgesung/ssd_tensorflow_traffic_sign_detection
12、帧差法
读图读视频==输出
定义初始化第一针
获取下一阵
处理
绝对值相减
(腐蚀膨胀)
阈值=面积小的排除
灰度
轮廓
显示保存
退出
13、数字图像处理某一章
opencv摄像头调用
保存视频,修改视频格式
基于视频的运动目标检测==光流法、帧差法、背景减除法
14、模板匹配
平方差速度快,效果不稳定
相关性,计算量大效果好
相关性系数,计算量最大效果最好
15、SSD代码运行时
linspace:中心点的位置
划分成大小不同的网格(编码过程),预测结果会对先验框进行调整(解码过程)===来个随机的正态分布进行调整
标签annotion
图片image
voc.annotion image里的train.txt 转换为2007_train.txt
//训练图片的位置,某个物体框的位置,对应的种类
train来调用上面的2007,注释掉粗略训练的学习率
num_class变为自己的类数+1
ssd修改model。h5
class_path:自己类的TXT,再进行prected