自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Segformer Decoder - Segformer_Head

Segformer之Decoder

2022-10-25 21:33:52 1669 5

原创 No signature of method编译出错的问题

首先问题如下:A problem occurred evaluating project ':app'.No signature of method: build_5woso1t2zz3j65kzgsuf20yp6.android() is applicable for argument types: (build_5woso1t2zz3j65kzgsuf20yp6$_run_closure1) values: [build_5woso1t2zz3j65kzgsuf20yp6$_run_closure1

2021-12-15 10:27:51 14474 1

原创 【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 2206

原创 【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 2367

原创 SIFT【尺度不变特征转换】和关键点的旋转不变性

如何判断关键点的旋转不变性?解:图像金字塔每层会得到一系列的DoG[Difference of Gaussian]极大值点,在极值中选取关键点【1.点的周围在邻域范围中是最大值;2.相邻金字塔层的邻域是最大值满足1,2的点具有缩放不变性】但是由于边缘响应,可能找到的点并不是关键点,因此,在此基础上需要计算该点的Hessain矩阵,通过Hessian计算该点的主曲率,利用阈值过滤主曲率较小的点,最后点认为是【关键点】此时问题来了,如何判断关键点的旋转不变性呢?具体方式:选择关键点的相邻点,计算周围

2021-09-17 16:17:06 624

原创 字典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 208

原创 每日一题:寻找旋转排序数组中的最小值 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 117 2

原创 算法刷题的输入问题以及哈希表查找

前段时间参加笔试在数据输入问题上卡了好长时间,大厂笔试“缺德”,不像Leetcode的那么友好自动输入验证。单数字输入# 单个整数输入a = int(input()) # 一个整数'''例如>>>a = int(input())>>>5>>>a = 5'''# 两个数怎么办?a, b = map(int, input().split()) # split() 括号空->空格分隔,','->逗号分隔'''例如

2021-04-01 11:06:47 155

原创 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 163 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 975

原创 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 2744 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 3467

原创 Yolo-v4中SAT和DropBlock介绍

DropBlock: A regularization method for convolutional networks

2021-01-12 13:55:30 973 1

原创 Yolo-V4数据增强

数据增强方式:调整亮度,对比度,色调,随机缩放,剪切,翻转,旋转等;Mosaic data augmentation:Mixup:两张图象按照不同的比例混合,分类结果按照混合比例分配;Cutout:随机将图片中的区域大小(个人观点裁剪区域图像大小为0.25左右较为合适,比例再大准确率下降明显)裁剪用0填充,结果分类不发生变化;Cutmix:随机裁剪图像的区域大小,不填充0而是随机选择其他样本的裁剪区域大小填充,结果根据裁剪填充的比例分类【Cutmix = Mixup + Cutout】。对比:

2021-01-12 12:39:23 938

原创 在Notebook中查看环境路径、添加环境和切换环境

查看环境:在开发环境比较多的时候,说不定可能会发生不知道使用的是那个环境。因此:import sysprint(sys.executable)#### 返回的结果就是环境的路径====================================================================添加环境:Step1:在终端(anaconda下)source activate 虚拟环境名# 在windows环境中且使用anaconda(miniconda)配置的环境:#

2020-12-31 09:35:36 1517 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 457

原创 tensorflow-gpu离线下载

http://mirrors.aliyun.com/pypi/simple/tensorflow-gpu/

2020-12-16 11:19:59 529

原创 运行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 180

原创 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 721 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 257 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 187

原创 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 1428

原创 切换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 88

原创 不同版本的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 101

原创 用pip安装个包超时你不烦么?

安装三方库的时候真的是一次又一次出错,您受累,劳驾看完。这种情况难受么?马上就要成功了,给您冒这么一个。Read timed out.怎么办呢?解决办法:pip --default-timeout=100 install -U pip注:也会失败哦...

2020-11-06 15:45:32 65 2

原创 python的一些额外包

地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/

2020-11-04 13:39:25 274

原创 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 1474 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 254

原创 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 122

原创 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 617

原创 问题

dropout会改变数据分布,在训练集和测试集中的样本不一样。该如何解决?dropout层会改变整体的方差,使得训练时候方差大于测试方差,那么解决的方案就是冻结dropout层,然后重新对模型训练一两个batch就可以了。dropout解决过拟合(1)取平均作用:dropout掉不同的神经元如同训练不同的网络,随即删除会使网络结构已经不同,整个dropout过程就相当于对对多个不同网络进行的平均。不同的网络有不同的过拟合,通过一些互为“反向”的过拟合相互抵消就可以达到整体上减少过拟合。(2)减少神经

2020-08-25 00:24:27 199

原创 43.字符串相乘

给定s和t两个字符串,如:s = ‘2’,t = ‘3’ ,返回结果 ‘6’。其中一种解法,使用辅助函数,将不使用内置函数,将字符串转化为数字,然后对数字相乘。class Solution: def multiply(self, num1, num2): def helper(s): dict = {'0':0, '1':1, '2':2, '3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9}

2020-07-24 21:58:08 81

原创 排列组合子集问题

这一类型题目都有一个共同的特点,通过对树的遍历来解决这种问题。说来惭愧,是根据一篇博文上的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 132

原创 48. 旋转图像

旋转图像给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]解析:双指针,详情参考力扣官方解答class Solution: def trap(self, height): .

2020-07-20 22:18:32 66

原创 53. 最大子序和

最大子序和给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。class Solution: def maxSubArray(self, nums): res = nums[0] ### if nums eq.

2020-07-19 21:46:53 69

原创 54. 螺旋矩阵

螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,2,3,4,8,12,11,10,9,5,6,7]解答:当时的第一想法就是转圈圈,设置上(up)、下(down)、.

2020-07-19 21:35:30 124

原创 12.整数转罗马

给定一个数字,看这个数满足在13个字符中几个。比如:2786 = 21000 + 500 + 2100 + 50 + 3*10 + 5+1;class Solution: def intToRoman(self, num): nums = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1] scope = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', '

2020-07-19 21:05:29 59

原创 两数相除

使用的是移位操作,写的有点恶心啊乘法和除法类似。相对更加简单。。。class Solution: def divide(self, dividend, divisor): m = abs(dividend) n = abs(divisor) if m == 0 or m < n: return 0 min_val, max_val = -2147483648, 2147483647

2020-07-17 22:53:06 93 1

原创 镜像二叉树

请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入:4/ 2 7/ \ / 1 3 6 9镜像输出:4/ 7 2/ \ / 9 6 3 1示例 1:输入:root = [4,2,7,1,3,6,9]输出:[4,7,2,9,6,3,1]class Solution: def mirrorTree(self, root): if not root: return

2020-07-16 21:45:57 69

原创 80删除排序数组中的重复元素Ⅱ

我就想知道为什么代码在pycharm中可以运行出正确结果,可是在leetcode上就是不行呢?class Solution: def removeDuplicates(self, nums: List[int]) -> int: count = 1 new_nums = nums.copy() for i in range(1,len(nums)): if nums[i] == nums[i-1]:

2020-07-16 21:30:20 67

空空如也

空空如也

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

TA关注的人

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