python
fksfdh
这个作者很懒,什么都没留下…
展开
-
nn.CrossEntropyLoss
【代码】nn.CrossEntropyLoss。原创 2023-01-16 03:21:21 · 223 阅读 · 1 评论 -
学习记录1
【代码】学习记录1。原创 2023-01-13 22:25:41 · 154 阅读 · 0 评论 -
pytorch双线性插值
通过floor函数找到下限,floor+1找到上限,但是要防止超过图像的像素坐标值。通过最邻近找到P点,然后需要找到出四个相邻像素点。原公式是右偏移的,新公式中心对其了。使用下面公式,寻找最近一个像素值。将y视为像素值的函数;...原创 2022-07-30 12:40:50 · 5036 阅读 · 2 评论 -
opencv鼠标键盘事件
opencv原创 2022-06-12 03:26:26 · 506 阅读 · 0 评论 -
opencv
opencv原创 2022-06-12 02:49:25 · 136 阅读 · 0 评论 -
pytorch练习小项目
config.pyclass Hyperparameter: # ################################################ # data # ################################################ device = 'cpu' trainset_path = './data/train.txt' testset_path = './dat原创 2022-05-30 00:12:14 · 513 阅读 · 0 评论 -
softmax
import torchimport numpy as npimport matplotlib.pyplot as pltimport matplotlibmatplotlib.rcParams['font.family'] = 'SimHei'#softmaxdef softmax(input): # input = torch.tensor([1,2,3],dtype=torch.float32) sum = np.sum([torch.exp(i) for i in in原创 2022-05-13 20:37:49 · 150 阅读 · 0 评论 -
softmax与交叉熵损失
交叉熵损失函数:softmax:import torchfrom torch import nnmodel_out = torch.tensor([[1,2,3], [4,5,6]],requires_grad=True,dtype=torch.float32)#类别y = torch.tensor( [0,2])ce_mean = nn.CrossEntropyLoss(reduction='mean')loss =原创 2022-05-13 19:20:54 · 347 阅读 · 0 评论 -
pytorch归一化
数据维度为[N,C,H,W]1、BatchNorm归一化维度:[N,H,W] 计算C次均值方差import torchfrom torch import nn#BatchNorm2dinput = torch.randn((8,32,32,3))input_ = input.permute(0,3,1,2)print(input_.shape)BN = nn.BatchNorm2d(3)output = BN(input_)print(output[:,0,:,:])#t原创 2022-05-13 15:37:28 · 5331 阅读 · 0 评论 -
pytorch学习记录
1、shape与size()print('*' * 100)print('查看数据形状')data1 = torch.randn((7,3,32,32))print("shape:",data1.shape)print("size:",data1.size())查看数据形状shape: torch.Size([7, 3, 32, 32])size: torch.Size([7, 3, 32, 32])2、squeeze与unsqueeze#压缩print('*' * 100)p原创 2022-05-06 20:36:48 · 445 阅读 · 0 评论 -
sigmoid函数
公式:代码:import mathimport numpy as npimport matplotlib.pyplot as pltdef sigmoid(x): e1 = 1 + pow(math.e,-(x)) e2 = pow(e1,-1) return e2 #导数def d_sigmoid(x): e = sigmoid(x) * (1 - sigmoid(x)) return ex_ = np.arange(-10.原创 2022-05-05 07:58:53 · 451 阅读 · 0 评论 -
Retinaface中match函数的理解
1、网络整体架构在之前首先要知道三个概念:先验框,真实框和预测框在a图中:蓝色和红色框就是真实框,是人为标注的标签。在b图和c图中,因为通过网络进行了下采样后,下采样不同的倍数,得到的每个feature map中每个格子(点)叫做anchor,然后在anchor的基础上,人为定义一些宽高比,图中定义了三种宽高比,然后每个格子都对应了三个先验框。而预测框是在有了先验框之后,通过网络前向计算得到宽高和中心的调整值,然后作用在先验框后,最后得到了预测框。前向预测的解码:在R原创 2022-02-18 20:57:50 · 441 阅读 · 1 评论 -
混淆矩阵与miou代码
一、混淆矩阵# 计算混淆矩阵def generate_matrix(num_class,gt_image, pre_image): #正确的gt_mask mask = (gt_image >= 0) & (gt_image < num_class) # ground truth中所有正确(值在[0, classe_num])的像素label的mask #gt_image[mask] 和 pre_image[mask]是一维数据 .原创 2022-02-15 20:20:14 · 3707 阅读 · 0 评论 -
FCN中onehot
1、 将一维变为三维张量import torcha = torch.Tensor([0,1,0,1,0,1,0,0,1,0,1,1,0,0,1,0,1,1])res1 = a.view((3,3,2))print("res1:",res1)res1 = res1[:,:,1]print("res1_",res1)输出:res1: tensor([[[0., 1.], [0., 1.], [0., 1.]], [[0., .原创 2022-02-14 19:17:35 · 765 阅读 · 0 评论 -
RNN LSTM GRU
import torchfrom torch import nnimport time#rnnmodel_rnn = nn.RNN( input_size= 4, hidden_size= 128, bias=True, num_layers= 1, bidirectional= False,)x = torch.randn(size=(31,8,4))output , hn = model_rnn(x)print("output:",out原创 2022-01-28 03:37:11 · 815 阅读 · 0 评论 -
pytorch数据读取
1、数据集信息抽取目录结构:import osfrom PIL import Imagefrom random import shuffle#1、收集数据集所有分类下的图像file_name =r'D:\python\new_test\data'imagelist = []def get_img_file(file_name): for parent, dirnames, filenames in os.walk(file_name): for dirna原创 2021-12-21 01:27:27 · 597 阅读 · 0 评论 -
pytorch中卷积网络的几种卷积和池化
from PIL import Imagefrom torch import nnfrom torchvision import transforms#数据处理transform = transforms.Compose( [transforms.ToTensor()], #0-1 tensor)image = Image.open("111.jpeg")print("imagesize:",image.size)x = transform(image)print(x.原创 2021-12-21 00:26:49 · 560 阅读 · 0 评论 -
uuid生成随机数
uuid4():这是基于随机数的uuidimport uuiddef getUid(): uid = str(uuid.uuid4()) suid = ''.join(uid.split('-')) return suid # print('uid:', uid) # print('suid:', suid)uid = getUid()原创 2021-10-19 17:46:32 · 1520 阅读 · 0 评论 -
cv2读取视频文件并展示
vc = cv2.VideoCapture("./video/1-208.mp4" )while vc.isOpened(): # get a frame ret, frame = vc.read() if frame is None: break # show a frame if ret == True: frame = cv2.resize(frame,(400,400)) frame = detect(fram原创 2021-10-17 23:38:09 · 2613 阅读 · 0 评论 -
把图片后缀变为jpg格式
import osimport cv2def ModifySuffix(rootDir): list_dirs = os.walk(rootDir) print(list_dirs) for root, dirs, files in list_dirs: # 遍历文件夹下的图片 # for d in dirs: # print((os.path.join(root, d))) for f in files:原创 2021-10-16 22:26:27 · 646 阅读 · 0 评论 -
DCGAN生成动漫头像
from __future__ import print_function#%matplotlib inlineimport argparseimport osimport randomimport torchimport torch.nn as nnimport torch.nn.parallelimport torch.backends.cudnn as cudnnimport torch.optim as optimimport torch.utils.dataimport to原创 2021-10-16 16:24:43 · 6022 阅读 · 1 评论 -
遇到的问题记录
1、module ‘matplotlib’ has no attribute ‘verbose’在pycharm中打开" File --> Settings --> Tools --> Python Scientific ",将"Show plots in toolwindow"去掉勾选即可。原创 2021-10-16 15:06:08 · 105 阅读 · 0 评论 -
conda 常用功能记录
1、查看conda中的所有环境conda env list2、创建环境conda create -n envname python=3.63、删除环境conda remove -n nlp --all4、激活环境conda activate envname 5、查看当前环境下的所有包conda list6、安装包pip install xxxx 或者 conda install xxxx下载时,可以加上国内的镜像源pip install xxx -i https://py原创 2021-10-16 08:35:18 · 109 阅读 · 0 评论 -
jupyter notebook中切换虚拟环境
一、Anaconda Jupyter notebook 如何进入F盘:1、打开Anaconda Prompt2、输入f: 进入F盘3、然后输入Jupyter notebook二、jupyter notebook中如何切换虚拟环境1、打开Anaconda Prompt,输入conda install -n env-name ipykernel,在虚拟环境下创建kernel2、激活虚拟环境:conda activate env-name3、将该虚拟环境写进notebook的kernel中:pyt原创 2021-05-28 00:36:18 · 512 阅读 · 0 评论 -
NCHW转化为NHWC
NCHW转化为NHWC:NHWC:[batch,height,width,channels]NCHW:[batch,channels,height,width]Tensorflow中使用的格式为NHWC:API:tf.transpose(a,perm)a:需要转置的张量。perm:按照哪种排列组合进行转置。实例:import tensorflow as tf#定义一个常量 是一个三阶张量,[channels,height,width] [0,1,2]nchw = tf.con原创 2021-01-09 23:22:35 · 2668 阅读 · 0 评论 -
scrapy
scarpyscarpy debug 模式from scrapy.cmdline import executeimport sysimport ossys.path.append(os.path.dirname(os.path.abspath(__file__)))execute(["scrapy","crawl","jobbole"])settings设置中# Obey robots.txt rulesROBOTSTXT_OBEY = False就可以进行debug...原创 2020-11-28 20:51:47 · 103 阅读 · 0 评论 -
Json中datatime问题
from datetime import datetimefrom functools import singledispatchdict = {"name":"小明","age":18,"height":180,'time':datetime.now()}class MyEncoder(json.JSONEncoder): def default(self, o): try: return Jsondispatch.encode(o) .原创 2020-05-26 00:27:48 · 222 阅读 · 0 评论 -
python迭代协议,可迭代对象和迭代器
from collections.abc import Iterable,Iteratorclass Iterable(metaclass=ABCMeta): __slots__ = () @abstractmethod def __iter__(self): while False: yield None @classmethod def __subclasshook__(cls, C): if cl原创 2020-05-25 12:03:34 · 272 阅读 · 0 评论 -
python魔法函数与协议,元类,类和实例之间的关系
在python中可以把魔法函数看作是python内置的一些接口和协议。不同的类型由不同的协议构成,当我们实现了某种协议,实际上就可以认为满足这种类型。在python中有一个模块collections的abc抽象类中,给我们提供了实现这些类型需要继承的方法。魔法函数是对于类型拥有的行为的约束。python更加注重的是对象拥有的行为,而不是它属于哪个类型。...原创 2020-05-25 10:37:03 · 221 阅读 · 0 评论 -
pip豆瓣源
pip install xxx -i http://pypi.douban.com/simple/pip install -r req.txt -i http://pypi.douban.com/simple/在使用Python的时候,需要把安装的包通过requirements.txt 给导出来,让其他使用者更加方便的安装:在当前环境执行生成文件:pip freeze >requirements.txt在新的系统下执行下面的命令安装:pip install -r requirements.tx原创 2020-05-18 10:18:49 · 176 阅读 · 0 评论 -
formdata和json
HTTP content-typeContent-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件,这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。Content-Type 标头告诉客户端实际返回的内容的内容类型。语法格式:Content-Type: text/html; charset=utf-8Content-Type: multipart/form-data; b原创 2020-05-17 03:24:43 · 40310 阅读 · 5 评论 -
类的多态性
1 、 Python抽象类1.抽象类概念抽象类是一个特殊的类,只能被继承,不能实例化2.为什么要有抽象类其实在未接触抽象类概念时,我们可以构造香蕉、苹果、梨之类的类,然后让它们继承水果这个的基类,水果的基类包含一个eat函数。但是你有没有想过,我们可以将香蕉、苹果、梨实例化,去吃香蕉、苹果、梨。但是我们却不能将水果实例化,因为我们无法吃到叫水果的这个东西。所以抽象类中只能有抽象方法(没有实现功能),该类不能被实例化,只能被继承,且子类必须实现抽象方法。3.抽象类的作用在不同的模块中通过抽象基原创 2020-05-14 01:09:43 · 498 阅读 · 0 评论 -
django中locals()函数的使用
当我们向模板中传参数时,#登录class LoginView(View): def get(self,request): title = '一支穿云箭' return render(request,'users/login.html',context={'title':title})这句context={‘title’:title}我们可以使用py...原创 2020-03-15 18:12:58 · 1193 阅读 · 0 评论 -
python字典dict、json字符串、bytes之间的转化
字典和json字符串(本质也是字符串)之间的转化用json.dumps和json.loads()json.dumps(): 字典→json字符串json.loads(): json字符串→字典import jsona = {'name':'xiaoming','age':18}print(a)print(type(a))b = json.dumps(a)pri...原创 2020-03-08 23:37:13 · 15905 阅读 · 0 评论 -
django中Cookie和Session
django中session源码分析在学习django时,先通过设置request.session[‘username’] = 'xiaoming ,然后发送请求后 'request.session.get(‘username’)获取到用户名时产生了下面一个问题在request请求模块里,默认是不带session功能的,也就是说request没有session属性的,为何我们还能使用呢?因为...原创 2020-03-08 22:34:09 · 467 阅读 · 0 评论 -
Django上下文处理器
上下文处理器上下文处理器是可以返回一些数据,在全局模板中都可以使用。比如登录后的用户信息,在很多页面中都需要使用,那么我们可以放在上下文处理器中,就没有必要在每个视图函数中都返回这个对象。在settings.TEMPLATES.OPTIONS.context_processors中,有许多内置的上下文处理器。这些上下文处理器的作用如下:django.template.context_proc...原创 2020-03-06 15:26:52 · 232 阅读 · 0 评论 -
django2.1.7从0开始搭建一个个人博客网站第9天
用户登录登出功能一、用户登录功能实现1.分析业务处理流程:判断用户输入的账号是否为空判断用户输入的密码是否为空,格式是否正确判断用户输入的账号与密码是否正确请求方法:POSTurl定义:/user/login/请求参数:url路径参数参数类型前端是否必须传描述user_account字符串是用户输入的账号可以是手机号也可以是用户名...原创 2020-03-06 14:44:50 · 147 阅读 · 0 评论 -
django中间件介绍
1、django.middleware.common.CommonMiddleware功能:通用中间件,会处理一些URL,比如baidu.com会自动的处理成www.baidu.com。比如/blog/111会处理成/blog/111/自动加上反斜杠,还有能对User-Agent进行限制:限制settings.DISALLOWED_USER_AGENTS中指定的请求头来访问本网站。DISALLO...原创 2020-03-04 19:14:37 · 321 阅读 · 0 评论 -
django2.1.7从0开始搭建一个个人博客网站第8天
七、用户注册功能实现1.分析业务处理流程:判断用户名是否为空,是否已注册判断手机号是否为空,是否已注册判断密码是否为空,格式是否正确判断确认密码与密码是否相同判断短信验证码是否为空,是否格式正确,是否与真实的短信验证码相同请求方法:POSTurl定义:/user/register/请求参数:url路径参数参数类型前端是否必须传描述username...原创 2020-03-04 12:33:01 · 283 阅读 · 0 评论 -
django中间件实现原理
中间件实现原理:递归回调 def load_middleware(self): """ Populate middleware lists from settings.MIDDLEWARE. Must be called after the environment is fixed (see __call__ in subclasses...原创 2020-03-03 20:05:41 · 691 阅读 · 0 评论