自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 变分自编码器实现(VAE)

import torchfrom torch import nnclass VAE(nn.Module): def __init__(self): super().__init__() self.encoder = nn.Sequential( nn.Linear(784, 256), nn.ReLU(), nn.Linear(256, 64), nn.ReLU(),

2022-03-16 14:27:42 281 1

原创 自编码器实现(AE)

import torchfrom torch import nnclass AE(nn.Module): def __init__(self): super().__init__() self.encoder = nn.Sequential( nn.Linear(784, 256), nn.ReLU(), nn.Linear(256, 64), nn.ReLU(),

2022-03-15 19:58:46 429

原创 完整的模型验证套路

import torchimport torchvisionfrom PIL import Imagefrom torch import nnimage_path = "./imgs/dog.jpeg"image = Image.open(image_path)# 图片保留三通道image = image.convert('RGB')transform = torchvision.transforms.Compose([torchvision.transforms.Resize((32

2022-03-01 16:51:15 156

原创 使用GPU训练

GPU使用1import torchimport torchvision.datasetsfrom torch.utils.tensorboard import SummaryWriterimport time# 准备数据集from torch import nnfrom torch.utils.data import DataLoaderimport nn_seqtrain_data = torchvision.datasets.CIFAR10(root="../dataset"

2022-03-01 15:40:55 264

原创 完整的模型训练套路

import torchimport torchvision.datasetsfrom torch.utils.tensorboard import SummaryWriterfrom MyModule import *# 准备数据集from torch import nnfrom torch.utils.data import DataLoaderimport nn_seqtrain_data = torchvision.datasets.CIFAR10(root="./datas

2022-03-01 11:53:15 213

原创 网络模型的保存与读取

保存import torchimport torchvisionvgg16 = torchvision.models.vgg16(pretrained=False)# 保存方式1 保存模型结构 + 模型参数torch.save(vgg16, "vgg16_method1.pth")# 保存方式2 保存模型参数(官方推荐)torch.save(vgg16.state_dict(), "vgg16_method2.pth")加载import torchimport torchvi

2022-02-28 22:17:27 146

原创 现有网络模型的使用和修改

import torchvisionfrom torch import nnvgg_false = torchvision.models.vgg16(pretrained=False)# 参数使用在别的数据集上训练好的初始化vgg_true = torchvision.models.vgg16(pretrained=True)# 在现有的网络结构进行一些修改,使它适用于自己的网络结构train_data = torchvision.datasets.CIFAR10("./dataset",

2022-02-28 19:12:25 141

原创 优化器的使用

import torchfrom torch import nnimport torchvisionfrom torch.nn import Conv2d, MaxPool2d, ReLU, Linear, Flattenfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10("./dataset

2022-02-28 18:39:21 81

原创 损失函数和反向传播

import torchfrom torch.nn import L1Loss, MSELoss, CrossEntropyLossinputs = torch.tensor([1, 2, 3], dtype=torch.float32)targets = torch.tensor([1, 2, 5], dtype=torch.float32)inputs = torch.reshape(inputs, (1, 1, 1, 3))targets = torch.reshape(targets,

2022-02-28 16:42:28 96

原创 使用Sequential

不使用Sequentialimport torchfrom torch import nnimport torchvisionfrom torch.nn import Conv2d, MaxPool2d, ReLU, Linear, Flattenfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterclass MyModule(nn.Module): de

2022-02-28 10:55:47 178

原创 神经网络线性层

import torchfrom torch import nnimport torchvisionfrom torch.nn import Conv2d, MaxPool2d, ReLU, Linearfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10("./dataset", train=

2022-02-28 10:23:08 572

原创 神经网络非线性激活层

import torchfrom torch import nnimport torchvisionfrom torch.nn import Conv2d, MaxPool2d, ReLUfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterinput = torch.tensor([[1, -0.5], [-1, 3]])in

2022-02-27 14:20:03 83

原创 最大池化层的使用

import torchfrom torch import nnimport torchvisionfrom torch.nn import Conv2d, MaxPool2dfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10("../dataset", train=False, transf

2022-02-24 16:13:30 111

原创 神经网络卷机层

import torchfrom torch import nnimport torchvisionfrom torch.nn import Conv2dfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriterdataset = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvisi

2022-02-24 15:36:27 579

原创 神经网络基本骨架-nn.Module的使用

import torchfrom torch import nnclass MyModule(nn.Module): def __init__(self) -> None: super().__init__() def forward(self, input): output = input + 1 return outputmoudle = MyModule()x = torch.tensor(1.0)o

2022-02-21 22:22:38 408

原创 DataLoader的使用

import torchvisionfrom torch.utils.data import DataLoaderfrom torch.utils.tensorboard import SummaryWriter# 准备测试集test_data = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvision.transforms.ToTensor())# batch_size为批量大小(即每次取四张图片

2022-02-21 21:16:50 214

原创 torchvision数据集的使用

import torchvisionfrom torch.utils.tensorboard import SummaryWriterdataset_transform = torchvision.transforms.Compose([ torchvision.transforms.ToTensor()])train_set = torchvision.datasets.CIFAR10(root="./dataset", train=True, transform=dataset_tr

2022-02-21 20:39:47 102

原创 transform的使用2

from PIL import Imagefrom torchvision import transformsfrom torch.utils.tensorboard import SummaryWriterimg = Image.open("/Users/computer/Documents/Code/pytorchLearning/imgs/five.png")trans_toTensor = transforms.ToTensor()tran_img = trans_toTensor(im

2022-02-20 15:28:32 1879

原创 transform的使用1

from PIL import Imagefrom torchvision import transformsfrom torch.utils.tensorboard import SummaryWriterimport cv2writer = SummaryWriter("logs")# 1. transforms如何使用img_path = "dataset/train/ants/0013035.jpg"img = Image.open(img_path)# 创建对象tensor

2022-02-14 18:19:59 672

原创 tensorboard使用2

from torch.utils.tensorboard import SummaryWriterfrom PIL import Imageimport numpy as npwriter = SummaryWriter("logs")img_path = "dataset/train/ants/0013035.jpg"img_PIL = Image.open(img_path)img_array = np.array(img_PIL)print(type(img_array))# 输出

2022-02-14 16:25:50 1995

原创 TensorBoard使用1

代码from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("logs")for i in range(100): writer.add_scalar("y=x", i , i)writer.close()运行后生成一个文件运行图片中命令点击网址即可查看参考课程视频地址:https://www.bilibili.com/video/BV1hE411t7RN?p=8&spm_id

2022-02-12 14:11:10 163

原创 读取数据集

读取数据数据目录结构代码from torch.utils.data import Datasetimport osfrom PIL import Image# 使用pytorch对数据集进行操作需要继承Dataset类,重写相关方法class MyData(Dataset): # 初始化,root_dir为跟路径,data_dir为跟路径下数据集的名字,该名字为该数据集下所有图片的标签 def __init__(self, root_dir, data_dir):

2022-02-12 12:36:34 979

原创 四——排版题

有规律可循的排版题(简单)# include <iostream>using namespace std;main(){ int n; while(cin>>n){ //计算最后一排*的个数 int lastLine = n + 2*(n-1); //输出*的个数 int x = n; for(int i=0;i<n;i++){ int k = la

2021-06-22 20:43:45 60

原创 三——HASH的应用

# include <iostream>using namespace std;main(){ int n; int g[101] = {0}; cout<<g[0]<<endl; while(cin>>n && n!=0){ int grades,grade; for(int i = 0;i<n;i++){ cin>>grades;.

2021-06-22 12:52:29 86

原创 二——日期类问题

# include<iostream># include<stdio.h># include<stdlib.h>using namespace std;int monthNum[13][2] = { 0,0, 31,31, 28,29, 31,31, 30,30, 31,31, 30,30, 31,31, 31,31, 30,30, 31,31, 30,30, .

2021-06-21 21:56:35 118

原创 算法复习一——排序

排序LintCode题目:下面分别用几种排序算法进行排序描述给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法。样例样例 1:输入: [3, 2, 1, 4, 5]输出: [1, 2, 3, 4, 5]样例解释: 返回排序后的数组。样例 2:输入: [1, 1, 2, 1, 1]输出: [1, 1, 1, 1, 2]样例解释: 返回排好序的数组。冒泡排序public class Solution { /**

2021-06-21 15:14:43 81

原创 Python文件操作

文件的基本操作文件操作的作用什么是文件:文件操作包含什么?打开,关闭,读,写,复制。文件操作的作用?读取,写入…文件的基本操作:文件操作步骤:1.打开文件用下面三种方式都可以f = open('C:/Users/Adminisrator/Desktop/hello.txt')f = open('C://Users//Adminisrator//Desktop//hello.txt')f = open(r'C:\Users\Adminisrator\Desktop\hello.txt

2021-05-19 09:47:32 112 1

原创 Java——Swing——JTable的使用

package JDBCStudy;import javax.swing.*;import javax.swing.event.TableModelEvent;import javax.swing.event.TableModelListener;import javax.swing.table.DefaultTableCellRenderer;import javax.swing.table.DefaultTableColumnModel;import javax.swing.table.D

2021-05-02 10:18:40 402

原创 JDBC学习

JDBC的本质理解1.JDBC是什么?Java Database Connectivity(Java语言连接数据库)2.JDBC的本质是什么?JDBC是SUN公司定制的一套接口(interface)接口都有调用者和实现者面向接口调用,面向接口写实现类,这都属于面向接口编程。java.sql.*为什么要面向接口编程? 解耦合:降低程序的耦合度,提高程序的扩展力 多态机制就是非常典型的:面向抽象编程。 Animal a = new Cat(); Animal b = new Dog();

2021-05-02 10:17:23 60

原创 数据库SQL语言的使用

第一部分内容数据库的基本概念MySQL数据库软件安装卸载配置SQL数据库的基本概念1. 数据库的英文单词: DataBase 简称 : DB2. 什么数据库? * 用于存储和管理数据的仓库。3. 数据库的特点: 1. 持久化存储数据的。其实数据库就是一个文件系统 2. 方便存储和管理数据 3. 使用了统一的方式操作数据库 -- SQLMySQL数据库软件1. 配置 * MySQL服务启动 1. 手动。 2. cmd--> service

2021-03-12 19:12:49 188

原创 树(二)——二叉树

二叉树的定义二叉树就是度不超过2的树。**满二叉树:**一个二叉树,如果每一层的结点都达到最大值,则这个二叉树就是满二叉树。**完全二叉树:**叶结点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。核心代码实现package tree;public class BinaryTree<Key extends Comparable<Key>,Value> { //记录根节点 private Node root; /

2021-03-01 10:32:00 139

原创 树(一)——基本概念

树的基本定义树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织架构、等等。树是由n(n>=1)个有限结点组成的一个具有层次关系的集合。树具有以下特点:1.每个结点有零个或多个子结点。2.没有父结点的结点称之为根结点。3.每一个非根结点只能有一个父结点。4.每个节点及其后代结点整体上可以看做是一棵树,称为当前结点的父结点的一个子树。树的相关术语**结点的度:**一个结点含有的子树的个数称为该结点的度。**叶结点:**度为

2021-02-27 20:35:10 316

原创 线性表(十一)——队列

基本概念队列是一种基于先进先出(FIFO)的数据结构,是一种只能在一端进行插入,在另一端进行删除操作的特殊线性表,它按照先进先出的原则存储数据,先进入的数据在读取数据时最先被读出来。代码实现package linear;import java.util.Iterator;public class Queue<T> implements Iterable<T>{ private Node head; private Node last; pri

2021-02-27 17:17:19 98

原创 汉诺塔问题

问题描述用栈模拟汉诺塔问题在经典的汉诺塔问题中,有 3 个塔和 N 个可用来堆砌成塔的不同大小的盘子。要求盘子必须按照从小到大的顺序从上往下堆 (如,任意一个盘子,其必须堆在比它大的盘子上面)。同时,你必须满足以下限制条件:(1) 每次只能移动一个盘子。(2) 每个盘子从堆的顶部被移动后,只能置放于下一个堆中。(3) 每个盘子只能放在比它大的盘子上面。请写一段程序,实现将第一个堆的盘子移动到最后一个堆中。样例样例1:输入: 3输出:towers[0]: []towers[1]:

2021-02-26 21:02:11 68

原创 线性表(十)——栈——案例——逆波兰表达式求值问题

问题概述逆波兰表达式求值问题是我们计算机中经常遇到的一类问题,要研究明白这个问题,首先我们得搞清楚什么是逆波兰表达式。要搞清楚逆波兰表达式,我们要从中缀表达式说起。中缀表达式中缀表达式就是我们平常生活中使用的表达式,因为简单、易懂。中缀表达式的特点是:二元运算符总是置于两个操作数中间。但对于计算机来说就不是这样了,因为中缀表达式的计算顺序不具有规律性。不同的运算符具有不同的优先级,如果计算机执行中缀表达式,需要解析表达式语义,做大量的优先级相关操作。所以计算机是通过逆波兰表达式对表达式进行计算的。

2021-02-19 20:58:21 63

原创 线性表(九)——栈——案例——括号匹配问题

问题描述给另一个字符串,里面可能包含“()”小括号和其他字符,请编写程序检查该字符串中的小括号是否成对出现。例如:正确:(上海)(长安), (上海(北京(广东)))错误:((上海)长安解题思想依次遍历字符串的每个字符,如果碰到左括号,将左括号压入栈中;如果碰见右括号需要先判断栈中是否还有元素,如果没有元素则说明没有左括号与该右括号匹配则返回false,否则弹出一个左括号。当所有字符都遍历完之后,如果栈为空则返回true,否则返回false。代码实现package test;import l

2021-02-19 19:37:24 105

原创 线性表(八)——栈——栈的基本使用

栈的基本概念栈是一种先进后出的数据结构(FILO)的数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个弹出来)。我们称数据进入到栈的动作为压栈,数据从栈中出去的动作为弹栈。...

2021-02-19 16:52:12 101 1

原创 线性表(七)——链表——约瑟夫问题(循环链表解决)

问题描述传说有这样一个故事,在罗马人占领乔塔怕特后,39个犹太人与约瑟夫及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀的方式,41个人排成一个圆圈,第一个人从1开始报数,依次往后,如果有人报数到3,那么这个人就必须自杀,然后再由他的下一个人重新从1开始报数,直到所有人都自杀身亡为止。然而约瑟夫和他的朋友并不想遵从。于是,约瑟夫要他的朋友先假装遵从,他将朋友和自己安排在第16与第31个位置,从而逃过了这场死亡游戏。解题思路构建含有41个结点的单项循环链表,分别存储1

2021-02-18 20:19:42 192

原创 线性表(六)——链表——快慢指针

快慢指针概念快慢指针是指定义两个指针,这两个指针的移动速度一快一慢,以此来制造自己想要的差值,这个差值可以解决许多问题。接下来举几个快慢指针能够解决的问题:中间值问题package linear;public class FastSlowTest { public static void main(String[] args) { Node<String> s1 = new Node<>("one",null); Node&lt

2021-02-17 19:58:25 88

原创 线性表(五)——链表——单链表反转

算法思想调用reverse(Node curr)方法反转每一个结点,从元素1结点开始;如果发现curr还有下一个节点,则递归调用reverse(curr,next)对下一个结点反转;最终递归的出口是最后一个元素结点,因为它没有下一个元素了,当到达了出口处让head指向最后一个元素结点;递归依次返回,完成。具体实现核心代码://返回整个链表 public void reverse(){ //判断当前链表是否是空链表,如果是结束,如果不是调用重载的方法完成反转

2021-02-15 20:20:32 140

空空如也

空空如也

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

TA关注的人

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