自定义博客皮肤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 torch from torch import nn class 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 381

原创 自编码器实现(AE)

import torch from torch import nn class 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 508

原创 完整的模型验证套路

import torch import torchvision from PIL import Image from torch import nn image_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 215

原创 使用GPU训练

GPU使用1 import torch import torchvision.datasets from torch.utils.tensorboard import SummaryWriter import time # 准备数据集 from torch import nn from torch.utils.data import DataLoader import nn_seq train_data = torchvision.datasets.CIFAR10(root="../dataset"

2022-03-01 15:40:55 337

原创 完整的模型训练套路

import torch import torchvision.datasets from torch.utils.tensorboard import SummaryWriter from MyModule import * # 准备数据集 from torch import nn from torch.utils.data import DataLoader import nn_seq train_data = torchvision.datasets.CIFAR10(root="./datas

2022-03-01 11:53:15 297

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

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

2022-02-28 22:17:27 207

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

import torchvision from torch import nn vgg_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 193

原创 优化器的使用

import torch from torch import nn import torchvision from torch.nn import Conv2d, MaxPool2d, ReLU, Linear, Flatten from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter dataset = torchvision.datasets.CIFAR10("./dataset

2022-02-28 18:39:21 118

原创 损失函数和反向传播

import torch from torch.nn import L1Loss, MSELoss, CrossEntropyLoss inputs = 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 142

原创 使用Sequential

不使用Sequential import torch from torch import nn import torchvision from torch.nn import Conv2d, MaxPool2d, ReLU, Linear, Flatten from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter class MyModule(nn.Module): de

2022-02-28 10:55:47 251

原创 神经网络线性层

import torch from torch import nn import torchvision from torch.nn import Conv2d, MaxPool2d, ReLU, Linear from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter dataset = torchvision.datasets.CIFAR10("./dataset", train=

2022-02-28 10:23:08 640

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

import torch from torch import nn import torchvision from torch.nn import Conv2d, MaxPool2d, ReLU from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter input = torch.tensor([[1, -0.5], [-1, 3]]) in

2022-02-27 14:20:03 127

原创 最大池化层的使用

import torch from torch import nn import torchvision from torch.nn import Conv2d, MaxPool2d from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter dataset = torchvision.datasets.CIFAR10("../dataset", train=False, transf

2022-02-24 16:13:30 152

原创 神经网络卷机层

import torch from torch import nn import torchvision from torch.nn import Conv2d from torch.utils.data import DataLoader from torch.utils.tensorboard import SummaryWriter dataset = torchvision.datasets.CIFAR10("./dataset", train=False, transform=torchvisi

2022-02-24 15:36:27 627

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

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

2022-02-21 22:22:38 482

原创 DataLoader的使用

import torchvision from torch.utils.data import DataLoader from 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 299

原创 torchvision数据集的使用

import torchvision from torch.utils.tensorboard import SummaryWriter dataset_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 143

原创 transform的使用2

from PIL import Image from torchvision import transforms from torch.utils.tensorboard import SummaryWriter img = 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 1941

原创 transform的使用1

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

2022-02-14 18:19:59 722

原创 tensorboard使用2

from torch.utils.tensorboard import SummaryWriter from PIL import Image import numpy as np writer = 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 2066

原创 TensorBoard使用1

代码 from torch.utils.tensorboard import SummaryWriter writer = 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 219

原创 读取数据集

读取数据 数据目录结构 代码 from torch.utils.data import Dataset import os from 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 1086

原创 四——排版题

有规律可循的排版题(简单) # 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 116

原创 三——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 139

原创 二——日期类问题

# 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 173

原创 算法复习一——排序

排序 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 119

原创 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 194 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 473

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

原创 数据库SQL语言的使用

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

2021-03-12 19:12:49 221

原创 树(二)——二叉树

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

2021-03-01 10:32:00 219

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

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

2021-02-27 20:35:10 401

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

基本概念 队列是一种基于先进先出(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 152

原创 汉诺塔问题

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

2021-02-26 21:02:11 128

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

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

2021-02-19 20:58:21 107

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

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

2021-02-19 19:37:24 168

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

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

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

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

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

2021-02-18 20:19:42 250

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

快慢指针概念 快慢指针是指定义两个指针,这两个指针的移动速度一快一慢,以此来制造自己想要的差值,这个差值可以解决许多问题。 接下来举几个快慢指针能够解决的问题: 中间值问题 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 134

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

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

2021-02-15 20:20:32 187

空空如也

空空如也

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

TA关注的人

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