torchvision 包含众多流行数据集和图像处理方法
文章图片
目标检测算法 常见的计算机视觉任务可以归纳为图像分类、目标检测、语义分割等。
在图片数据中找到指定的物体,并能够正确定位位置,这就是典型的目标检测任务。
边界框与锚框
边界框用来描述目标位置,是一个矩形框,由左上角坐标和右下角坐标来共同确定。
在运行目标检测算法时,通常会在图像中采样多个候选区域,不同的目标检测算法所使用的采样算法也不一样,而YOLO系列算法则通过定义锚框来提取,锚框是指以每一个像素为中心,生成多个大小和宽高比不同的边界框集合
交并比(Intersection of Union)
当有多个边界框覆盖了图像中的物体时,如果该物体的真实的边界框已知,那么需要有一个衡量预测边界框好坏的指标。在目标检测领域,我们使用交并比来衡量。
基于候选区域的目标检测算法(二阶段)
第一阶段:先产生所有可能的目标候选区
第二阶段:再对候选区做分类和回归
- R-CNN
- Fast R-CNN
- Faster R-CNN
【联邦学习|PyTorch实现联邦学习目标检测】与二阶段不同,它仅仅使用一个卷积神经网络直接预测不同目标的类别与位置,不需要预先选取候选区域,因此,在效果上,基于区域的算法要比单阶段算法准确度高,但速度较慢;相反,单阶段算法比基于区域的算法速度快,但准确率要低。
方法实现 使用Flask-SocketIO作为服务端和客户端之间的通信框架,可以轻松实现服务端和客户端的双向通信。
Flask-SocketIO基础
服务端创建 初始化服务端:
from flask import Flask,render_template
from flask_socketio import SocketIOapp=Flask(__name__)
app.config['SECRET_KEY']='secret'
socketio=SocketIO(app)
if __name__ == '__main__':
socketio.run(app)
为了能响应连接的客户端请求,在服务端定义处理函数
@socketio.on('my event')
def test_message(message):
emit('my response',{'data':message['data']})
FedAvg
def updata_weights(self,client_weights,client_sizes):
#clients_weight存储每一个客户端上传的模型参数列表
#clients_sizes存储每一个客户端的本地样本数量
total_size=np.sum(client_sizes)
new_weights=[np.zeros(param.shape) for param in client_weights[0]]
#FedAvg集合
for c in range(len(client_weights)):
for i in range(len(new_weights)):
new_weights[i]+=(client_weights[c][i]*client_sizes[c]/total_size)
self.current_weights=new_weights
客户端创建 使用socketIO-client创建client
from socketIO_client import SocketIOdef test_response(data):
print(data)
sio=SocketIO(host,port,None)
sio.on('my_response',test_response)
sio.emit('my event')
sio.wait()
PyTorch基础 Tensor是PyTorch的基础数据结构,是一个高维的数组,其作用类似于Numpy中的ndarray。
pip list 查看python包和版本
文章图片
#查询文件默认存储路径
import os
print(os.path.abspath('.'))
Bibliography
推荐阅读
- 重要|Pytorch 冻结网络层
- pytorch|【pytorch】冻结网络参数训练
- 单目标追踪|trdimp代码配置(pytracking,ubuntu18.04 + cuda11.3)
- Pytorch|Pytorch丨expand函数
- pytorch 中repeat函数
- pytorch|Pytorch函数expand()详解
- pytorch|pytorch中expand()和repeat()的区别
- 李宏毅机器学习|李宏毅2021年机器学习作业2(classification)实验记录
- 深度学习|基于pytorch用yolov5算法实现目标检测与分割