自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 nn.CrossEntropyLoss

【代码】nn.CrossEntropyLoss。

2023-01-16 03:21:21 158 1

原创 学习记录1

【代码】学习记录1。

2023-01-13 22:25:41 107

原创 pytorch双线性插值

通过floor函数找到下限,floor+1找到上限,但是要防止超过图像的像素坐标值。通过最邻近找到P点,然后需要找到出四个相邻像素点。原公式是右偏移的,新公式中心对其了。使用下面公式,寻找最近一个像素值。将y视为像素值的函数;...

2022-07-30 12:40:50 4590 2

原创 opencv鼠标键盘事件

opencv

2022-06-12 03:26:26 443

原创 opencv

opencv

2022-06-12 02:49:25 109

原创 pytorch练习小项目

config.pyclass Hyperparameter: # ################################################ # data # ################################################ device = 'cpu' trainset_path = './data/train.txt' testset_path = './dat

2022-05-30 00:12:14 427

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

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

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

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

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

原创 N叉树的遍历

N叉树的遍历的迭代和递归实现1、先序遍历//迭代class Solution {public: vector<int> preorder(Node* root) { if(root == NULL) return vector<int>(); vector<int> res; stack<Node*> mystack; mystack.push(root); w

2022-03-07 16:02:44 354

原创 viewpager

1、activity_main.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"

2022-02-26 07:03:49 88

原创 listview与Recycleview

1、listviewMainActivity.javapackage com.example.app7;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;impor

2022-02-26 01:09:40 132

原创 Retinaface中match函数的理解

1、网络整体架构在之前首先要知道三个概念:先验框,真实框和预测框在a图中:蓝色和红色框就是真实框,是人为标注的标签。在b图和c图中,因为通过网络进行了下采样后,下采样不同的倍数,得到的每个feature map中每个格子(点)叫做anchor,然后在anchor的基础上,人为定义一些宽高比,图中定义了三种宽高比,然后每个格子都对应了三个先验框。而预测框是在有了先验框之后,通过网络前向计算得到宽高和中心的调整值,然后作用在先验框后,最后得到了预测框。前向预测的解码:在R

2022-02-18 20:57:50 404 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 3457

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

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

原创 设计模式之工厂方法

案例:邮箱和微信消息发送interface Imessage{ public abstract void sendmessage();}class SenderFactory{ public Imessage getInstance(String mess) { if(mess == "微信") { return new Wechat(); }else if(mess == "邮箱") { return new Email(); }else { r

2021-12-23 01:44:05 188

原创 设计模式之模板方法

案例:制作饮料的步骤:abstract class Beverage{ public void make() { boilwater(); putIntoCup(); addHotWater(); addCondiments(); } public void boilwater() { System.out.println("烧开水"); } public abstract void putIntoCup(); public

2021-12-22 07:56:32 308

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

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

原创 java面向对象二

1、构造代码块和静态代码块静态代码块 -> 构造代码块 -> 构造方法静态代码块当创建多个对象只会执行一次,而构造代码块创建多少个对象都会执行。class Person{ private String name ; private int age = 1; //类属性,可以直接通过类直接访问 static String ancestor ="女娲"; { System.out.println("构造代码块"); } static { System.

2021-12-18 07:45:08 324

原创 java面向对象一

1、对象属性和方法class Person{ private String name ; private int age = 1; public void setName(String newName) { name = newName; } public String getName() { return name; } public void setAge(int newage) { if(

2021-12-18 06:08:37 255

原创 java之JVM、JRE和JDK

1、JVM、JRE和JDKJVM:JRE:JRE 包含JVM标准实现及JAVA核心类库。JRE是JAVA运行环境,并不是一个开发环境,所以没有包含任何开发工具(如javac和调试器等)JDK:2、java代码执行流程3、面向对象OOP...

2021-12-16 20:04:47 158

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

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

原创 把图片后缀变为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 590

原创 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 5914 1

原创 遇到的问题记录

1、module ‘matplotlib’ has no attribute ‘verbose’在pycharm中打开" File --> Settings --> Tools --> Python Scientific ",将"Show plots in toolwindow"去掉勾选即可。

2021-10-16 15:06:08 84

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

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

原创 计算机学习笔记二

一、原码反码补码负数补码快速转换为原码:原: 1011 0110反: 1100 1001补: 1100 1010当从低位向高位找到第一个‘1’时,这个“1”的左边,与反码相同,右边与,原码相同,就可以把1100 1010分成两部分 -> 110010 和10 110010取反,而10不变,就得到1011 0110溢出运算结果超过了数的表示范围,只有两个正数相加才会上溢出,只有两个负数相加才会下溢;因为,如果一个正数和一个负数相加,结果一定大于负数,小于正数。在两数之间

2021-03-16 00:38:44 72

原创 计算机学习笔记一

一、计算机的性能指标:1、主存容量:主存储器所能存储信息的最大容量。MAR * MDR- 2、主频和cpu时钟周期CPU时钟频率 = 1 / CPU时钟周期- 3、CPI :执行一条指令所需的时钟周期数。CPI 是一个平均值,表示所有指令执行所需的平均时钟周期数- 4、CPU执行时间CPU执行时间 = (指令数 * CPI)/ 主频 = CPU时钟周期数 / 主频- 5、MIPS :每秒执行多少百万条指令。MIPS = 主频 /(CPI * 10^6) = 指令条数

2021-03-12 01:08:04 375

原创 从103个数中找到出现一次的那三个数

1、从101个数中找到出现一次的那1个数?//101void demo01() { int arr[5] = { 5,7,6,7,5 }; int result; result = 0; for (int i = 0; i < 5; i++) { result ^= arr[i]; } printf("出现一次的那个数=%d\n", result);}2、从102个数中找到出现一次的那2个数?//101int d

2021-03-08 18:49:51 222

原创 c语言之指针(四)

四、二级指针和指针数组在这里插入代码片

2021-03-07 03:51:44 69

原创 c语言之指针(三)

三、数组指针和二维数组在这里插入代码片

2021-03-07 03:50:34 61

原创 c语言之指针(二)

二、字符指针和字符数组1、字符指针和字符数组的初始化问题void demo01() { char *p = "hello"; char a[10] = "hello"; p[0] = 'H'; a[0] = 'H'; printf("p=%s,a=%s", p, a); }结果:字符指针无法修改字符串,而数组a能成功修改值为“Hello”;原因是:(1)执行p[0] = 'H'; 时报错;写入访问权限冲突。因为“hello”是作为字符串

2021-03-07 03:45:20 122

原创 c语言之指针(一)

1、指针相当于间接访问数据;指针变量大小为4字节;2、值传递和引用传递引用传递也是值传递,不过传递的是地址;函数调用的本质是值传递;#include <stdio.h>//值传递void demo01(int a) { a = 100;}//引用传递:传递地址void demo02(int* b) { *b = 100;}int main(){ int i; i = 10; printf("原始值:%d\n",

2021-03-05 21:49:21 66

原创 c语言之数组

1、数组的访问越界问题//数组访问越界int main(){ int m = 10; int a[5] = {1,2,3,4,5}; a[5] = 6; a[6] = 7; a[7] = 8; int n = 100; printf("m=%d;n=%d\n", m,n);}结果:原因:通过查看变量的内存地址:由下图,可以看出变量在创建的时候是以高地址创建变量,并且windows有2字节的保护(cc cc cc c

2021-03-05 17:59:36 79

空空如也

空空如也

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

TA关注的人

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