深度学习
文章平均质量分 65
主要记录语义分割,目标检测等网络模型的相关知识。
Van-bo
Get busy living or get busy dying
展开
-
超分辨latex论文写作图片排版
【代码】超分辨latex论文写作图片排版。原创 2023-02-08 15:30:41 · 593 阅读 · 3 评论 -
Python-深度学习常用脚本
记录一些因为在网络训练,测试过程中经常用到的一些脚本1.视频按帧提取可以从一段视频中截取不同帧的图片,并保存至文件夹。需要自己更改视频路径和图片保存路径import osimport cv2import shutil VIDEO_PATH = 'test.mp4' # 视频地址EXTRACT_FOLDER = 'video' # 存放帧图片的位置EXTRACT_FREQUENCY = 1 # 帧提取频率 def extract_frames(video_path,.原创 2021-11-22 22:25:01 · 680 阅读 · 0 评论 -
RTX30系列-Ubuntu系统配置与深度学习环境Pytorch配置
本文完成RTX3090Windows+Ubuntu双系统配置 ,并配置深度学习环境硬件环境为RTX3090+Z590主板,64GB RAM,2TB固态,8TB存储Ubuntu系统版本为:Ubuntu 20.04.3 LTS深度学习环境:cuda11.0.4;cudnn8.2.4;pytorch1.9原创 2021-09-29 12:24:55 · 10449 阅读 · 0 评论 -
遗传算法求解TSP旅行商问题
旅行商问题旅行商问题(traveling salesman problem,TSP)可描述为:已知N个城市之间的相互距离,现有一个商人必须遍访这N个城市,并且每个城市只能访问一次,最后又必须返回出发城市。如何安排他对这些城市的访问次序,使其旅行路线总长度最短。旅行商问题是一个典型的组合优化问题,其可能的路径数目是与城市数目N呈指数型增长的,一般很难精确地求出其最优解,因而寻找其有效的近似求解算法具有重要的理论意义,特别是当N的数目很大时,用常规的方法求解计算量太大。对庞大的搜索空间中寻求最优解,对原创 2021-07-07 16:41:06 · 9914 阅读 · 5 评论 -
Matlab-基于模型不确定补偿的RBF网络机器人自适应控制仿真
在众多机器人控制算法中,基于模型的计算力矩控制方法是十分有效的,其操作性能也是相当优秀的.然而,这种控制算法必须面对两大难题.第一,必须实现对机器人动力学模型的快速计算第二,必须事先精确了解机器人的动力学模型,因为计算转矩算法在模型未知的情况下鲁棒性较差.但是在实际应用中,即使是获得一个较为理想的机器人动力学模型也是很困难的,另外在操作过程中动力学模型中的各个参数还可能发生变化神经网络控制神经网络控制是20世纪80年代以来,在人工神经网络(ANN)研究所取得的突破性进展的基础上,与控制相结和,而.原创 2021-06-17 16:21:01 · 10054 阅读 · 106 评论 -
Pytorch维度操作-unsqueeze、squeeze、view与permute
unsqueeze作用是用于增加维度,操作是针对于tensor张量,通过tensor.unsqueeze进行维度扩张。原创 2021-06-10 12:20:18 · 1460 阅读 · 1 评论 -
Python使用OpenCV按自定义帧率提取视频帧并保存
很实用的小工具类,可直接使用,根据需求更改视频路径,保存路径和帧率即可。import osimport cv2import shutilVIDEO_PATH = 'test.mp4' # 视频地址EXTRACT_FOLDER = 'video' # 存放帧图片的位置EXTRACT_FREQUENCY = 1 # 帧提取频率def extract_frames(video_path, dst_folder, index): # 主操作 video = cv2.Vi.原创 2021-05-20 11:20:40 · 2632 阅读 · 2 评论 -
如何用Pytorch计算模型参数量Params和计算量Flops查看框架结构等
计算模型参数量1.parameters法通过遍历模型的parameters获取结构以及参数: model = 你自己的模型,eg:CNN() ResNet() SegNet().... params = list(model.parameters()) k = 0 for i in params: l = 1 print("该层的结构:" + str(list(i.size()))) for j in i.siz原创 2021-05-13 22:05:34 · 30651 阅读 · 11 评论 -
Pytorch实现CA,SA,SE注意力机制
通道注意力CAclass ChannelAttention(nn.Module): def __init__(self, in_planes, ratio=16): super(ChannelAttention, self).__init__() self.avg_pool = nn.AdaptiveAvgPool2d(1) self.max_pool = nn.AdaptiveMaxPool2d(1) self.fc1 = n...原创 2021-05-12 19:40:32 · 18334 阅读 · 6 评论 -
如何用pyplot优雅的绘制loss,acc,miou,psnr变化曲线
前言TensorFlowBoard过于强大,导致我对它依赖性很强,今年转手使用pytorch进行开发,本以为没了TensorFlowBoard,后来发现人家Tensorflow封装了个TensorFlowBoardX,专门给其他深度学习框架使用,不得不说TensorFlow确实厉害。不过用的久了我就有点嫌麻烦了,因为每一次都要用命令去解析events文件,然后生成网址,复制到浏览器打开,有时候打不开或者打开的慢,出于我近期的研究工作只需要看一个图像的大概走向,不用多么好看、精美、功能强大,因此就使用ma原创 2021-05-10 21:26:08 · 4076 阅读 · 4 评论 -
Pytorch加载与保存模型(利用pth的参数更新h5预训练模型)
前言以前用Keras用惯了,fit和fit_generator真的太好使了,模型断电保存搞个checkpoint回调函数就行了。近期使用pytorch进行训练,苦于没有类似的回调函数,写完网络进行训练的时候总不能每次都从头开始训练,于是乎就学了一下pytorch的模型相关操作。训练过程ArgumentParser解析器argparse是一个Python模块:命令行选项、参数和子命令解析器。主要有三个步骤:创建 ArgumentParser() 对象 调用 add_argument()原创 2021-05-09 15:19:55 · 16282 阅读 · 4 评论 -
迁移学习与Transformer架构
迁移学习迁移学习干什么的?迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务。Eg:学习识别苹果可能有助于识别梨,学习骑自行车可能有助于学习骑摩托车,学习打羽毛球可能有助于学习打网球。找到目标问题的相似性,迁移学习任务就是从相似性出发,将旧领域学习过的模型应用在新领域上,可以实现一个举一反三的效果。为什么需要迁移学习?优势所在?1.大数据与少标注的矛盾在实际训练过程中,虽然有大量的数据可供使用,但往往都是没有标注的,人工进行数据标定过于耗时耗力,因此通...原创 2021-02-19 13:47:15 · 4465 阅读 · 2 评论 -
MobileNet学习记录-基于MobileNetV1的自动驾驶图像语义分割实现
1. MobileNet基础及架构Mobielnet学习记录-概念篇2. 实现思路为了便于实现,还是采用了Encoder-Decoder结构,利用MobileNet来进行特征提取,相较于CNN的卷积操作,最大的不同就是MobileNet的深度可分离卷积,其他步骤基本一样。MobileNet的网络结构如上图所示,首先通过一个3x3的标准卷积(步长为2),然后经过多个深度可分离卷积,特征提取完成后,然后采用平均池化将feature变成1x1,根据预测类别大小加上全连接层,最后经过sof.原创 2020-07-23 17:04:42 · 2024 阅读 · 0 评论 -
卷积神经网络CNN学习记录-CNN实现语义分割(Encoder-Decoder结构)
1.Encoderfrom keras.layers import *def Conv_Encoder( input_height=416 , input_width=416 ): Img_In = Input(shape=(input_height,input_width , 3 )) # 416,416,3 -> 208,208,64 Img_Conv = Conv2D(64, (3, 3), activation='relu', padding='same', name=原创 2020-07-22 20:28:22 · 3831 阅读 · 8 评论 -
卷积神经网络CNN学习记录-实战篇(Minst手写数据集识别)
from tensorflow.examples.tutorials.mnist import input_dataimport tensorflow as tfminst = input_data.read_data_sets("data/",one_hot="True")sess = tf.InteractiveSession()def weight_var(shape): initial = tf.truncated_normal(shape,stddev=0.1) re.原创 2020-07-22 20:12:29 · 1213 阅读 · 0 评论 -
卷积神经网络CNN学习记录-概念篇
卷积神经网络CNN1. 网络简介卷积神经网络(Convolutional Neural Network)是人工神经网络与深度学习相结合,它是一种具有卷积计算并且具有深度结构的前馈神经网络经,通过反向传播算法来训练网络中的权重,从而实现深度学习的方法[1]。2.网络特点与传统神经网络相比,它不仅继承了传统神经网络的高容错性、强大的自我学习能力,还在此基础上增加了几大特点:一是局部感受野,在传统神经网络中,通过...原创 2020-07-22 12:15:53 · 458 阅读 · 0 评论 -
MobileNet学习记录-概念篇
MobileNet1. 网络简介MobileNet模型是Google公司近年来提出的一种轻量级深度神经网络,主要用于移动和嵌入式平台开发使用。MobileNets主要是从最初引入的深度可分离卷积构建的,并随后用于Inception模型减少前几层的计算,并从此引入了因式化卷积以及拓扑连接的使用[1],使扁平网络通过完全分解的卷积构建网络减少参数和计算量。轻量化网络通常是通过压缩预训练网络或直接训练小网络...原创 2020-07-22 12:07:51 · 705 阅读 · 0 评论 -
Github快速查找资源常用筛选命令
1.按项目名称/仓库名称搜索(不区分大小写) 命令 in:name xxx示范:in:name tensorflow2.按照readme搜索(不区分大小写)命令 in:readme示范:in:readme keras3.按照描述description搜索(不区分大小写)in:description xxx示范:inin:description 安卓4.筛选stars/forks数量大于x的项目示范:stars:> 1000...原创 2020-07-13 18:41:18 · 887 阅读 · 0 评论 -
(傻瓜教程)TensorBoard可视化工具简单教程及讲解(TensorFlow与Pytorch)
首先庆祝踩坑踩了一万个的我终于搞懂TensorBoard的原理了,是我太蠢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 首先说明一下Tensorboard是个神马东西,官方给出的声明:TensorBoard是一个可视化工具,它可以用来展示网络图、张量的指标变化、张量的分布情况等。特别是在训练网络的时候,我们可以设置不同的参数(比如:权重W、偏置B、卷积层数、全连接层数等),使用TensorBoader可以很直观的帮我们进行参数的选择。 都是废话!就是画图的...原创 2020-06-10 20:48:58 · 63338 阅读 · 41 评论 -
语义分割权重h5文件下载失败问题
这个问题困扰我很久,所以单拿出来记录以泄我心头之恨,从github上下载预训练权重太慢,经常发生timeout错误导致下载失败,查了好多网站都没办法解决我的问题,于是乎自己研究了一下。因为家里电脑没办法科学上网,首先我是从github拿的权重https://github.com/fchollet/deep-learning-models/releases根据自己的需求下载所需要的权重...原创 2020-05-05 11:10:21 · 407 阅读 · 0 评论 -
神经网络----TF1与TF2代码实现鸢尾花分类
1.首先加载鸢尾花数据集,读入输入特征以及标签直接采用load函数加载:x_data = datasets.load_iris().data # .data返回iris数据集所有输入特征y_data = datasets.load_iris().target # .target返回iris数据集所有标签2.为保证准确性,对数据集进行打乱使用相同的seed,保证输入特征和...原创 2020-04-30 21:50:03 · 3073 阅读 · 10 评论 -
Tensorflow问题之赋值失败为空值
import tensorflow as tfa = tf.zeros([2, 3])b = tf.ones(4)c = tf.fill([2, 2], 9)print("a:", a)print("b:", b)print("c:", c)比如上列代码,原本应该输出a: tf.Tensor([[0. 0. 0.] [0. 0. 0.]], shape=(2, 3),...原创 2020-04-30 21:36:11 · 908 阅读 · 0 评论 -
深度学习-神经网络编程使用过程中的问题汇总。
1.pip安装下载速度慢,不稳定容易失败等问题。第一个方法是改变下载源pip install selenium -i http://pypi.douban.com/simple/还有多个其他下载源清华的下载源好像不能用了,推荐豆瓣的或者阿里的阿里:http://mirrors.aliyun.com/pypi/simple第二个办法,在用户界面创建pip文件夹,并编写pip....原创 2020-04-23 02:47:37 · 4323 阅读 · 3 评论 -
图像语义分割原理及常用方法
1图像语义分割的概念1.1图像语义分割的概念与原理图像语义分割可以说是图像理解的基石性技术,在自动驾驶系统(具体为街景识别与理解)、无人机应用(着陆点判断)以及穿戴式设备应用中举足轻重。我们都知道,图像是由许多像素(Pixel)组成,而「语义分割」顾名思义就是将像素按照图像中表达语义含义的不同进行分组(Grouping)/分割(Segmentation)。正在上传…重新上传取消...转载 2020-04-17 11:03:50 · 4121 阅读 · 0 评论 -
TensorFlow基础篇
1. TensorFlow 是什么是一个深度学习库,由 Google 开源,可以对定义在 Tensor(张量)上的函数自动求导。Tensor(张量)意味着 N 维数组,Flow(流)意味着基于数据流图的计算,TensorFlow即为张量从图的一端流动到另一端。它的一大亮点是支持异构设备分布式计算,它能够在各个平台上自动运行模型,从电话、单个CPU / GPU到成百上千GPU卡组成的分布...转载 2020-04-17 11:07:51 · 10890 阅读 · 2 评论