自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 收藏
  • 关注

原创 DilatedEncoder

DilatedEncoder

2023-02-08 00:56:51 288

原创 找工作的英文自我介绍

找工作的自我介绍(英文)

2022-12-29 14:14:47 372

原创 将数据集的VOC格式转为yolo格式

将数据集的VOC格式转为yolo格式

2022-08-24 22:25:00 869

原创 安装skimage

安装skimage

2022-08-23 20:37:23 1609

原创 如何安装retinaface

如何安装retinaface

2022-08-15 10:18:08 1593

原创 pyqt中关于QMediaPlayer无法打开播放视频的问题

pyqt中关于QMediaPlayer无法打开播放视频的问题

2022-08-14 16:53:54 617

原创 安装dlib库

安装dlib库

2022-08-09 21:23:41 128

原创 Linux常用命令

深度学习中Linux常用命令,持续更新ing

2022-08-02 21:05:59 247

原创 批量读取文件夹中的图片,并把图片名写入txt文档中

批量读取文件夹中的图片,并把图片名写入txt文档中

2022-08-01 18:01:13 1287

原创 头部姿态综述总结

首先介绍头部姿态估计的基本原理和本质问题,然后对头部姿态估计的主流方法进行分类总结和优缺点比较。

2022-06-01 22:26:27 3369

原创 MyBatis

MyBatis的基础介绍作用:连接数据库,访问、操作数据库中的数据,最终将结果返回给业务层MyBatis是支持定制化SQL,存储过程及高级映射的持久层框架定制化SQL:自己写SQL存储过程:设计mysql的高级部分普通映射:数据库查询出数据后,根据反射将其对应实体类对象,若字段名与属性名一致,则将数据映射为实体类对象,若字段名与属性名不一致,则无法映射高级映射:自定义映射,可解决字段名与属性名不一致的情况,及一对多、多以一的关系MyBatis:避免了几乎所有的 JDBC 代码和手动设置

2022-04-24 15:59:54 893

原创 在windows如何安装cv2

在windows如何安装cv2在终端输入:pip install opencv-python

2022-04-18 22:27:53 1123

原创 HTTP&Tomcat&Servlet

JavaWeb的技术栈:BS架构:浏览器-服务器架构,客户端只需要浏览器,应用程序的逻辑和数据都存储在服务器端。浏览器请求服务器,服务器把web资源发送给浏览器。服务器端有很多资源:1、静态资源:HTML、CSS、JavaScript,负责页面展示2、动态资源:Servlet、JSP等,主要用来负责逻辑处理,处理完逻辑后会交给静态资源来展示3、数据库:存储数据HTTP协议:作用:主要定义通信规则浏览器发送请求到服务器,服务器响应数据给浏览器,整个过程都遵守HTTP协议(一种规则)Web

2022-04-16 22:19:52 715

原创 AoP面向切面编程

AoPAoP:面向切面编程,对业务逻辑的各个部分进行隔离,使得业务逻辑的各个部分之间的耦合度降低。通俗来讲:不修改源码的方式,在主干功能里添加新功能。例如:1、AoP底层使用动态代理有两种动态代理情况:(1)有接口,使用JDK动态代理创建接口实现类的代理对象,增强类的方法(2)没有接口情况,使用CGLIB动态代理创建子类的代理对象,增强类的方法2、AoP(JDK的动态代理)JDK的动态代理:使用Proxy类的方法newProxyInstance方法来创建代理对象第一个参数

2022-04-15 11:14:39 1700

原创 IOC操作bean管理(自用)

IOC操作Bean管理Bean管理操作实现有两种方式:1)基于xml配置文件方式实现2)基于注解方式实现而Bean管理指的是两个操作:1)Spring 创建对象2)Spring 注入属性IOC操作bean管理(基于xml方式)基于xml方式创建对象<!--配置User对象创建--><bean id="user" class="com.itguigu".spring5.User></bean>bean标签中有很多属性,基本属性为:1)id:

2022-04-14 15:26:17 215

原创 spring5笔记1--IOC的底层原理和两种实现方式

spring笔记1spring是轻量级的开源框架spring有两部分核心:1). IOC: 控制反转,把**创建对象**和**对象之间的调用**交给spring进行管理2). Aop: 面向切面,不修改源代码的基础上进行功能增强Spring 特点:(1)方便解耦,简化开发(2)Aop 编程支持(3)方便程序测试(4)方便和其他框架进行整合(5)方便进行事务操作(6)降低 API 开发难度IOCIOC:控制反转,把对象创建和对象之间的调用过程交给spring进行管理目的:降低耦合

2022-04-07 11:47:55 846

原创 leecode:203. 移除链表元素

leecode:203. 移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点 。思路:有两种方法:不添加虚拟的头结点 和 添加虚拟头结点1)对于不添加虚拟头结点,考虑三种情况:a. 链表为nullb.head.val==valc.正常情况/** * Definition for singly-linked list. * public class ListNode { * int

2022-03-21 20:28:56 588

原创 leecode:707. 设计链表

leecode:707. 设计链表设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-index 的。在链表类中实现这些功能:get(index):获取链表中第 index 个节点的值。如果索引无效,则返回-1。addAtHead(val):在链表的第一个元素之前添加一个值为 val 的

2022-03-21 19:41:19 154

原创 leecode:59. 螺旋矩阵 II

leecode:59. 螺旋矩阵 II给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。class Solution { public int[][] generateMatrix(int n) { //定义一个二维数组 int[][] nums = new int[n][n]; int count=1;//计数 int r=0;//行起始位置 int c=0;//列起始位置 i

2022-03-18 22:44:00 431

原创 leecode:209. 长度最小的子数组

leecode:209. 长度最小的子数组给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。思路:寻找连续最小子数组的情况满足滑动窗口当整个窗口的和小于给定的值,快指针便向右滑动使其和达到给定值;当整个滑动窗口的和大于给定的值时,慢指针便向右滑动缩小窗口的大小。class Solution

2022-03-18 21:02:19 498 1

原创 leecode: 150. 逆波兰表达式求值

leecode: 150. 逆波兰表达式求值根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。注意 两个整数之间的除法只保留整数部分。可以保证给定的逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。注意:逆波兰表达式:也是后缀表达式思路:这里可以这么考虑:字符串数组中可以分为两类:数字字符串和运算符字符串。用栈来解决(因为栈的特性后进先出,比如:遇到运算符直接弹出紧挨着两个数字),遇数

2022-03-13 14:27:43 779

原创 leecode: 1047. 删除字符串中的所有相邻重复项

leecode: 1047. 删除字符串中的所有相邻重复项思路:利用栈的思想。定义一个栈,遍历字符串时,若栈为空便将字符入栈,若栈不为空,查看栈顶元素是否与此字符相等,相等便弹栈,并跳过此次循环。遍历完后就剩余相邻元素不重复的字符了。弹出一个个字符,可是得到的是反的字符(eg: ac),再进行反转。class Solution { public String removeDuplicates(String s) { //定义栈 Stack<Character&gt

2022-03-13 13:24:55 7131

原创 leecode:20. 有效的括号

leecode:20. 有效的括号给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。对于括号匹配是使用栈解决的经典问题class Solution { public boolean isValid(String s) { //定义栈 Stack<Character> stack = new Stack<>();

2022-03-13 11:51:41 357

原创 225. 用队列实现栈

225. 用队列实现栈注意:栈是类,可以直接实例化队列是接口,不能被直接实例化,可以利用多态的思想用一个队列的实现类:LinkedList(底层是双向链表)栈的push: 等价于 队列的offer栈的pop: 等价于队列的pollpublic class MyStack { Queue<Integer> q1 = new LinkedList<>();// 定义一个队列与栈的顺序相同 Queue<Integer> q2 = new LinkedList

2022-03-12 22:44:02 898

原创 leecode:232. 用栈实现队列

leecode:232. 用栈实现队列思考:用栈实现队列,可以考虑将一个栈作为入栈,另一个栈作为出栈,配合使用。注意,入栈考虑第一个栈;出栈考虑用第二个栈class MyQueue { Stack<Integer> s1 = new Stack<>(); // 作为入栈 Stack<Integer> s2 = new Stack<>(); // 作为出栈 public MyQueue(){ } public void push(int

2022-03-12 21:11:34 516

原创 leecode::977. 有序数组的平方

leecode::977. 有序数组的平方给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。请你设计时间复杂度为 O(n) 的算法解决本问题思路:注意这里数组是非递减顺序,观察实例1的数组:[-4, -1, 0, 3, 10]通过平方后:[16, 1, 0, 9, 100], 可见16到0是递减的,0到100是递增的,相当于凹函数,肯定存在最小值==》于是想到二分法,定义两个指针,进行遍历(双指针法)class Solution {

2022-03-12 20:07:39 131

原创 leecode:27、移除元素

leecode:27、移除元素题目:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。利用快慢指针的思想(新数组把旧数组覆盖),保证仅使用 O(1) 额外空间。class Solution { public int removeElement(int[] nums, int val)

2022-03-12 17:53:40 95

原创 leecode:704、二分查找

leecode:704、二分查找题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。class Solution { public int search(int[] nums, int target) { //定义两指针 int l = 0; int r = nums.length-1; //利用循环进行二分 while(l<=r){ i

2022-03-12 17:26:18 112

原创 数据结构笔记:时间复杂度和空间复杂度、递归问题

安装PyTorch-GPU版一、安装anaconda假设已经装好二、创建PyTorch环境1.打开Anaconda Prompt2.更改镜像源conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda co

2021-11-02 17:58:41 198

原创 Synthesizer: Rethinking Self-Attention for Transformer Models

Synthesizer: Rethinking Self-Attention for Transformer Models核心:该论文调查了基于dot-product self-attention机制在transformer模型性能的重要性和贡献。本文提出SYNTHESIZE模型在没有token-token interaction时,学习synthetic attention weights(合成的注意力权重)。 Dot-product content-based attention能用简单的变体(如

2021-09-17 17:10:30 647

原创 课程笔记:权重衰减和dropout

正则化:上面这条曲线表示验证集的loss情况;下面这条曲线表示训练集的loss情况方差:表示的是训练集与验证集之间的差异L2正则化正则化:降低方差,解决过拟合L1正则化:要cost与wi的绝对值之和都要小,参数解发生在坐标轴上,表明参数解有稀疏项。L2正则化又称为权值衰减在参数更新中多了一个(1-lamda),lamda大于0小于1,故因此L2正则化又称为权值衰减。权值不断减小,以至于模型没那么复杂在pytorch中,L2正则化加载在optimizer中实现optim_weig

2021-05-30 10:39:57 880

原创 课程笔记:Normalization

为啥要 Normalization呢,想想当初为啥要对权值初始化:数据尺度的变大变小,从而导致梯度逐渐增大这里是为了解决ICS问题(即数据尺度/分布异常,导致训练困难)Batch Normalization:mini-batch是指64或者128或者256BN一般在激活函数之前,对数据次数进行规范scale与shift又称为affine transform,增强模型的容纳能力_BatchNorm是基类,主要有5个参数训练状态:mean和var需要重新估计,根据batch改变;测试状态:

2021-05-29 08:44:51 168

原创 课程笔记:tensorboard

tensorboard:1)通过writer记录可视化数据2)通过SummaryWriter 在硬盘中生成event file(生成在runs文件夹下)3)在终端打开web网页端(在terminal中输入:tensorboard --logdir=./)SummaryWritermax_epoch = 100writer = SummaryWriter(comment='test_comment', filename_suffix="test_suffix")for x in ra

2021-05-28 14:31:11 113

原创 课程笔记:HOOK函数

hook函数可以分为两部分:关于tensor(第一种)和关于module(第二三四种)tensor.register_hook在反向传播完成时,非叶子结点的梯度会消失tensor.register_hook作用:1)完成保存非叶子结点的梯度2)修改叶子结点的值例如:保存a的梯度值;修改w的梯度值w = torch.tensor([1.], requires_grad=True)x = torch.tensor([2.], requires_grad=True)a = torch.ad

2021-05-28 09:27:21 396

原创 tensorboard:当前数据没被激活

No dashboards are active for the current data set.Probable causes:You haven’t written any data to your event files.TensorBoard can’t find your event files.解决:1)原来文件夹以test开头,后来删掉了2)中文路径可以运行但打不开,故修改为英文路径tensorboard --logdir=./runs和tensorboard --logdir

2021-05-27 10:19:02 1467 3

原创 课程笔记:计算图和学习率(主要)

计算图用来描述运算的有向无环图两个主要元素:结点(Node)和边(Edge)结点表示数据边表示运算用户创建的结点为叶子结点:如这里的x,wis_leaf: 指示张量是否为叶子结点autogrodoptimizer学习率调整学习率 用于控制更新的步伐初始学习率的设置:初始学习率一共两种设置方法:1)设置较小的学习率:0.01(用在重新训练的时候),0.001, 0.0001(用在fine turn的时候)2)搜索最大的学习率:观察图可知,左边这幅图,学习率大于0.05

2021-05-26 23:12:53 260

原创 自定义一个增加椒盐噪声的transforms方法

自定义一个增加椒盐噪声的transforms方法:import randomfrom PIL import Imageimport numpy as npclass AddPepperNoise(object): """" Args: snr (float): Signal Noise Rate p (float): 概率值, 依概率执行 """ def __init__(self, snr, p=0.9): as

2021-05-26 16:00:53 975

原创 pytorch自定义数据集

自定义的数据集:从kaggle下载的猫狗数据集import osfrom PIL import Imagefrom torch.utils.data import Datasetcatdog_label = {"cats": 0, "dogs": 1}class DogCatDataset(Dataset): def __init__(self, data_dir, transform=None): """" 猫狗分类任务的dataset

2021-05-25 22:09:24 299

原创 自定义的数据集无法调用时

自定义的dataset,但’DogCatDataset’ is not callablefrom torchvision import transformsimport DogCatDatasetimport osfrom torch.utils.data import DataLoader# 文件夹路径split_dir = 'DogCatDataset'train_dir = os.path.join(split_dir, "training_set")valid_dir = os

2021-05-25 21:58:14 297

原创 拼写错误示例

问题:AttributeError: ‘str’ object has no attribute ‘endwith’catdog_label = {"cats": 0, "dogs": 1}data_info = list()for root, dirs, _ in os.walk(data_dir): # 遍历类别 for sub_dir in dirs: img_names = os.listdir(os.path.join(root, sub_dir))

2021-05-25 20:25:57 1400

face-detection包

直接pip install face_detection包后存在许多问题,尤其再使用RetinaFace时,可以直接下载后放在库中使用(主要是自己使用)

2023-07-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除