笔记
gwy2018
这个作者很懒,什么都没留下…
展开
-
Segformer Decoder - Segformer_Head
Segformer之Decoder原创 2022-10-25 21:33:52 · 1671 阅读 · 5 评论 -
【CheckBox控件的使用】+【MainActivity的多功能切换】
java代码CheckBox控件–多选项import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.Toast;public class CheckBoxActivity extends AppCompatActivity {原创 2021-11-23 22:23:39 · 2207 阅读 · 0 评论 -
【ImageView加载网上的图片】
☆Button衍生控件:ToggleButton, switch开关.ImageView:加载网络图片import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.ImageView;import com.bumptech.glide.Glide;public class ImageViewMainActivity extends AppCompatActivit原创 2021-11-23 21:01:06 · 2372 阅读 · 0 评论 -
字典Key和value的排序——应用【451. 根据字符出现频率排序】
字典的遍历:sorted(target, key, reverse)通过sorted排序后的字典结果返回的是listdict = {'q':2, 'w':3, 'e':1}1.按key进行排序:sorted(dict.keys())# 结果:['e', 'q', 'w']sorted(dict.keys(), reverse=True) # 逆排序# 结果:['w', 'q', 'e']2.按value排序:D = {‘q’:1, ‘r’:2, ‘t’:3}F = sorted(D原创 2021-09-06 18:44:56 · 210 阅读 · 0 评论 -
每日一题:寻找旋转排序数组中的最小值 II
题目:已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums = [0,1,4,4,5,6,7] 在变化后可能得到:若旋转 4 次,则可以得到 [4,5,6,7,0,1,4]若旋转 7 次,则可以得到 [0,1,4,4,5,6,7]注意,数组 [a[0], a[1], a[2], …, a[n-1]] 旋转一次 的结果为数组 [a[n-1], a[0], a[1], a[2], …, a[n-2]] 。%%%%%%%%%%%%%%%%%%原创 2021-04-13 10:13:34 · 118 阅读 · 2 评论 -
算法刷题的输入问题以及哈希表查找
前段时间参加笔试在数据输入问题上卡了好长时间,大厂笔试“缺德”,不像Leetcode的那么友好自动输入验证。单数字输入# 单个整数输入a = int(input()) # 一个整数'''例如>>>a = int(input())>>>5>>>a = 5'''# 两个数怎么办?a, b = map(int, input().split()) # split() 括号空->空格分隔,','->逗号分隔'''例如原创 2021-04-01 11:06:47 · 157 阅读 · 0 评论 -
Dataset创建之前需的txt存放Python实现
import osa=0while(a<1024):#1024为我们的类别数 dir = './data1/images/'#图片文件的地址 label = a#os.listdir的结果就是一个list集,可以使用list的sort方法来排序。如果文件名中有数字,就用数字的排序 files = os.listdir(dir)#列出dirname下的目录和文件 files.sort()#排序 train = open('./data1/train.txt'原创 2021-03-24 10:42:47 · 164 阅读 · 1 评论 -
Anchor Based和Anchor Free
Anchor Based和Anchor Free之间区别主要有以下两点:1.分类差异(关键正负样本定义)2.回归差异1.分类差异:现阶段的算法多尺度预测,即GT是由哪一个特征层和位置Anchor预测。Anchor Based是由IoU来确定哪层和哪个位置的Anchor来预测,这个的选择是根据图像中目标物体的大小来决定。有个很牛逼名字叫启发式引导。Anchor Free是Scale Ratio确定GT在哪层,利用Center Sampling确定那些位置是正样本。现阶段的Anchor Free的检测原创 2021-01-21 13:43:54 · 982 阅读 · 0 评论 -
Yolo-v4的CSPNet(Cross Stage Partial Network)
CSPNet介绍:计算机视觉的任务很依赖昂贵的计算资源,提出了跨阶段局部网络(CSPNet)解决以往工作中需要大量推理计算的问题。CSPNet易于实现,并且足够通用,可以处理基于ResNet、ResNeXt和DenseNet的体系结构。主要的作用:提高CNN的学习能力;减少计算时间;减少内存。每一个block按照特征图的channel维度拆分成两部分;一部分正常走网络,一部分直接concat到这个block的输出。详细介绍参考博客CSPNet论文,发表于CVPR2019...原创 2021-01-12 15:37:06 · 2755 阅读 · 1 评论 -
Yolo-v4的loss函数
在Yolo-v4中使用的loss函数——CIoU-loss:文章中的损失函数的考虑三个因素:重叠面积、中心点距离和长宽比其中:v是长宽比的相似性;c是下图对角线距离;a是权重参数。大致的loss的流程如下:IoU GIoU DIoU CIoUIoU-loss介绍:当预测框和GT框没有相交,则loss函数为1;在反向传播过程中无法梯度计算,且在相同的IoU却反映不出实际情况,如图所示。GIoU-loss介绍:在上图中所示,引入最小封闭形状C(C可把A,B包原创 2021-01-12 15:12:25 · 3468 阅读 · 0 评论 -
Yolo-v4中SAT和DropBlock介绍
DropBlock: A regularization method for convolutional networks原创 2021-01-12 13:55:30 · 977 阅读 · 1 评论 -
Yolo-V4数据增强
数据增强方式:调整亮度,对比度,色调,随机缩放,剪切,翻转,旋转等;Mosaic data augmentation:Mixup:两张图象按照不同的比例混合,分类结果按照混合比例分配;Cutout:随机将图片中的区域大小(个人观点裁剪区域图像大小为0.25左右较为合适,比例再大准确率下降明显)裁剪用0填充,结果分类不发生变化;Cutmix:随机裁剪图像的区域大小,不填充0而是随机选择其他样本的裁剪区域大小填充,结果根据裁剪填充的比例分类【Cutmix = Mixup + Cutout】。对比:原创 2021-01-12 12:39:23 · 940 阅读 · 0 评论 -
在Notebook中查看环境路径、添加环境和切换环境
查看环境:在开发环境比较多的时候,说不定可能会发生不知道使用的是那个环境。因此:import sysprint(sys.executable)#### 返回的结果就是环境的路径====================================================================添加环境:Step1:在终端(anaconda下)source activate 虚拟环境名# 在windows环境中且使用anaconda(miniconda)配置的环境:#原创 2020-12-31 09:35:36 · 1531 阅读 · 3 评论 -
Pytorch对图像增强的python实现
直接上代码介绍的也比较详细import torchvision.transforms.functional as TFfrom PIL import Imageimport osfrom skimage.util import random_noisefrom skimage.filters import gaussianimport cv2# 擦除图像中某块区域def erase_and_save(image_path, target_dir, position, size):原创 2020-12-22 09:37:37 · 458 阅读 · 0 评论 -
tensorflow-gpu离线下载
http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/原创 2020-12-16 11:19:59 · 530 阅读 · 0 评论 -
运行tensorflow-gpu报错
已经安装好对应版本的cuda和cudnn之后使用tensorflow依旧报错,错误如下:2020-12-03 15:00:04.386786: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such原创 2020-12-03 15:09:15 · 181 阅读 · 0 评论 -
faceshifter源代码解读(一)
源代码:https://github.com/taotaonice/FaceShifter源码有点不友好哦。。。。。。先看train-AEI.pyfrom network.AEI_Net import *from network.MultiscaleDiscriminator import *追到network模块,模型的结构。AEI_NET和判别器的内部结构。一)AEI-NET.py包括:1、多联合特征提取encoder的搭建,使用的kernel_size=4,前向传播,建议推倒一下很简单原创 2020-11-26 11:12:38 · 725 阅读 · 5 评论 -
ubuntu18.04安装CUDA+Cudnn+Tensorflow
查看电脑是否支持intel不做赘述;一定要看好对应的cuda!!!!!!!!!!!提前搞好驱动和g++和gcc对应的cuda版本,可以在网上查看一下!!!!!!我是安装cuda10.0 + cudnn7.5 + Tensorflow-gpu 1.14(差不多可以跑所有tensorflow1.+版本程序)一、Cuda下载安装(安装cuda10.0)直接上连接CUDA10.0下载地址https://developer.nvidia.com/cuda-10.0-download-archive?t原创 2020-11-21 10:16:18 · 259 阅读 · 1 评论 -
PixelShuffer上采样
PixelShuffer是通过strides小于1来实现卷积进行上采样的。根据计算公式除以步长,当步长小于1也就是给乘以步长的倒数,也就实现了特征图的变大。PixelShuffer是将Tensor大小为(, r^2C, H, W)转换为(,C,rH,r*W)的一个Tensor优点:相比较普通的上采样(使用临近像素填充算法,只考虑到空间因素,忽略channel因素)而言,PixelShuffer结合channel维度的信息来填充像素,去实现超高分辨率的图像生成。...原创 2020-11-11 14:21:16 · 188 阅读 · 0 评论 -
SyntaxWarning: name ‘pnet‘ is assigned to before global declaration
运行如下代码WEIGHTS_PATH = "./mtcnn_weights/"sess = K.get_session()with sess.as_default(): global pnet, rnet, onet pnet, rnet, onet = create_mtcnn(sess, WEIGHTS_PATH)global pnet, rnet, onet # 错误的出处; pnet = K.function([pnet.layers['data']原创 2020-11-11 10:19:13 · 1434 阅读 · 0 评论 -
切换gcc和g++的版本
对于低版本的cuda使用安装必须使用降低gcc和g++的版本# eg. install cuda-9.x versionsudo apt-get install gcc-6sudo apt-get install g++-6运行的时候查看版本恢复发现,还是原来版本。sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 88再次查看gcc和g++版本就发现,哦,有趣!是转换后的版本了如果想要切换原版本运行:su原创 2020-11-10 16:38:55 · 89 阅读 · 0 评论 -
不同版本的cuda切换
假如已经安装更好了不同版本的cuda。当切换版本时:sudo rm -rf cuda # 删除的当前这个cuda的路径sudo ln -s /usr/local/cuda-10.2 /usr/local/cuda # 在cuda-10.2后有一个空格哦,切换路径查看版本stat cuda...原创 2020-11-09 16:42:08 · 103 阅读 · 0 评论 -
用pip安装个包超时你不烦么?
安装三方库的时候真的是一次又一次出错,您受累,劳驾看完。这种情况难受么?马上就要成功了,给您冒这么一个。Read timed out.怎么办呢?解决办法:pip --default-timeout=100 install -U pip注:也会失败哦...原创 2020-11-06 15:45:32 · 66 阅读 · 2 评论 -
python的一些额外包
地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/原创 2020-11-04 13:39:25 · 276 阅读 · 0 评论 -
opencv-python将两个文件夹下的照片拼接一起,然后保存
读取数据流,本段代码是对图像的输入拼接简述:两个文件夹,每个文件夹中包含相同数量的照片和相同的label,需要两个文件夹下的照片需要拼接,然后显示。import cv2 as cvimport numpy as npimport requestsimport osimport mathimport fnmatchimport shutilimport timeimport datetimeimport jsonimport redef is_file_match(filena原创 2020-10-29 20:59:25 · 1479 阅读 · 5 评论 -
换脸技术
https://github.com/AliaksandrSiarohin/first-order-modelhttps://github.com/luckyluckydadada/faceswap#31-first-step--%E4%BD%BF%E7%94%A8ffmpeg%E5%B7%A5%E5%85%B7%E8%A7%86%E9%A2%91%E8%BD%AC%E5%9B%BE%E7%89%87 luckyluckydadada /faceswap https://github.com/al原创 2020-10-28 11:04:02 · 259 阅读 · 0 评论 -
2020-10-21
channels:https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/win-64/https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/win-64/https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/https://mirrors.tuna.tsinghua.edu.cn/an原创 2020-10-21 17:22:08 · 123 阅读 · 0 评论 -
No module named torch_sparse, torch_scatter等 .whl文件
pytorch 遇到No module named 'torch_sparse’之类的问题不要慌,更不要下载Microsoft Visual C++ Build Tools 2015进行编译,Word天呢,要累死啊。。# 这个地址https://github.com/rusty1s/pytorch_sparse# 下拉到 Readme 的 Installation 点击 here (蓝色),会有不同的版本,需要哪个下哪个。我下载的是1.6版本。InstallationBinariesWe p原创 2020-09-17 10:25:52 · 619 阅读 · 0 评论 -
问题
dropout会改变数据分布,在训练集和测试集中的样本不一样。该如何解决?dropout层会改变整体的方差,使得训练时候方差大于测试方差,那么解决的方案就是冻结dropout层,然后重新对模型训练一两个batch就可以了。dropout解决过拟合(1)取平均作用:dropout掉不同的神经元如同训练不同的网络,随即删除会使网络结构已经不同,整个dropout过程就相当于对对多个不同网络进行的平均。不同的网络有不同的过拟合,通过一些互为“反向”的过拟合相互抵消就可以达到整体上减少过拟合。(2)减少神经原创 2020-08-25 00:24:27 · 202 阅读 · 0 评论 -
排列组合子集问题
这一类型题目都有一个共同的特点,通过对树的遍历来解决这种问题。说来惭愧,是根据一篇博文上的java改过来的。全排列:[1,2,3]排列可能,没有重复元素全排列二:包含重复元素,所以在排列过程中会出现重复现象,只需要修改判断语句if not nums and tmp not in res:即可class Solution: def peemute(self, nums): res = [ ] n = len(nums) def backtrack(nums,tmp): if not nums: res.原创 2020-07-24 10:46:50 · 133 阅读 · 0 评论