深度学习小记(包括pytorch 还有一些神经网络架构)
这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新
import torchvision.transforms as transforms
toPIL = transforms.ToPILImage()#可以把tensor转换为Image类型的
img=toPIL(img)
#利用save就可以保存下来
img.save("/opt/data/private/stable_signature-main/output/dogtes.jpg")totensor=transforms.ToTensor()
img=totensor(img)#此时img是其他类型的,但是通过这个用法以后可以转变为tensor
随机种子数的设定
seed = 42
np.random.seed(seed)
torch.manual_seed(seed)
random.seed(seed)
if torch.cuda.is_available():torch.cuda.manual_seed(seed)torch.cuda.manual_seed_all(seed)
读取数据用的,可以直接拿来用
import numpy as np
from PIL import Image
from torchvision import transforms
import torch
import os
from torch.utils.data import DataLoader, Subset
from torchvision.datasets.folder import is_image_file, default_loader
normalize_vqgan = transforms.Normalize(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])
transform = transforms.Compose([transforms.Resize(256),transforms.CenterCrop(256),transforms.ToTensor(),normalize_vqgan,])def get_image_paths(path):paths = []for path, _, files in os.walk(path):for filename in files:paths.append(os.path.join(path, filename))return sorted([fn for fn in paths if is_image_file(fn)])
class ImageFolder:"""An image folder dataset intended for self-supervised learning."""def __init__(self, path, transform=None, loader=default_loader):self.samples = get_image_paths(path)self.loader = loaderself.transform = transformdef __getitem__(self, idx: int):assert 0 <= idx < len(self)img = self.loader(self.samples[idx])if self.transform:return self.transform(img)return imgdef __len__(self):return len(self.samples)def collate_fn(batch):""" Collate function for data loader. Allows to have img of different size"""return batch
def get_dataloader(data_dir, transform, batch_size=128, num_imgs=None, shuffle=False, num_workers=4, collate_fn=collate_fn):dataset = ImageFolder(data_dir, transform=transform)if num_imgs is not None:dataset = Subset(dataset, np.random.choice(len(dataset), num_imgs, replace=False))return DataLoader(dataset, batch_size=batch_size, shuffle=shuffle, num_workers=num_workers, pin_memory=True, drop_last=False, collate_fn=collate_fn)
train_loader = get_dataloader(train_dir, transform, batch_size, num_imgs=batch_size*1200, shuffle=True, num_workers=4, collate_fn=None)#调用代码
调整学习率可以直接用,放在你训练的for循环里面
def adjust_learning_rate(optimizer, step, steps, warmup_steps, blr, min_lr=1e-6):"""Decay the learning rate with half-cycle cosine after warmup"""if step < warmup_steps:lr = blr * step / warmup_steps else:lr = min_lr + (blr - min_lr) * 0.5 * (1. + math.cos(math.pi * (step - warmup_steps) / (steps - warmup_steps)))for param_group in optimizer.param_groups:if "lr_scale" in param_group:param_group["lr"] = lr * param_group["lr_scale"]else:param_group["lr"] = lrreturn lr
举一个例子来说,steps代表了100次训练,step代表了当前的第几步
在PyTorch中,unsqueeze函数用于在指定维度上增加一个维度
import torchx = torch.randn(3, 4) # 创建一个形状为 (3, 4) 的张量
print(x.shape) # 输出: torch.Size([3, 4])
#在维度0上增加一个维度
y = torch.unsqueeze(x, 0)
print(y.shape) # 输出: torch.Size([1, 3, 4])
在PyTorch中,squeeze函数用于在指定维度上增加一个维度
相关文章:

深度学习小记(包括pytorch 还有一些神经网络架构)
这个是用来增加深度学习的知识面或者就是记录一些常用的命令,会不断的更新 import torchvision.transforms as transforms toPIL transforms.ToPILImage()#可以把tensor转换为Image类型的 imgtoPIL(img) #利用save就可以保存下来 img.save("/opt/data/private/stable_si…...
声音分离人声和配乐base,vocals,drums -从头设计数字生命第6课, demucs——仙盟创梦IDE
demucs -n htdemucs --two-stemsvocals 未来之窗.mp3 demucs -n htdemucs --shifts5 之.mp3demucs -n htdemucs --shifts5 -o wlzcoutspl 未来之窗.mp3 伴奏提取人声分离技术具有多方面的重大意义,主要体现在以下几个领域: 音乐创作与制作 创作便利…...
深度探索多模态数据:从声音到图像的奇妙世界
深度探索多模态数据:从声音到图像的奇妙世界 在多模态深度学习的旅程中,我们不仅要了解不同数据形式的融合策略,还需要熟悉各种数据类型的特性。今天,我们将探索两种常见但极具价值的模态:音频数据和医学CT扫描。 音…...

【数据可视化-32】全球住房市场分析(2015-2024 年)数据集可视化分析
🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...
JAVA---面向对象(下)
重生之我开始补知识第三集 1.标准 JavaBean 要求: 1)类名需要见名知意 2)成员变量使用private修饰 3)至少提供两个构造方法 a.无参构造方法 b.带全部参数的构造方法 4)成员方法 a.提供每一个成员变量对应的 …...
FPGA(现场可编程门阵列)笔记
*编程语言 - [Verilog]:硬件描述语言,语法风格类似于C语言,用于数字电路的设计。 - [SystemVerilog]:扩展自Verilog,增加了面向对象编程等特性,语法更接近于C,适用于复杂系统设计。 - [VHDL]:另一种硬件描述语言&…...

DAX Studio将PowerBI与EXCEL连接
DAX Studio将PowerBI与EXCEL连接 具体步骤如下: 第一步:先打开一个PowerBI的文件,在外部工具栏里打开DAXStudio,如图: 第二步:DAXStudio界面,点击Advanced选项卡-->Analyze in Excel&#…...

使用spring boot vue 上传mp4转码为dash并播放
1.前端实现 <template><div class"video-upload"><el-uploadclass"upload-demo"action"/api/upload":before-upload"beforeUpload":on-success"handleSuccess":on-error"handleError":show-file-…...

深入理解指针 (1)
1.内存和地址 1.1内存 1.1.1内存的使用和管理 (1)内存划分为一个个的内存单元,每个内存单元的大小是1个字节,一个内存单元可以存放8个bit。 (2)每个内存单元有一个编号,内存单元的编号在计…...

Leetcode98、230:二叉搜索树——递归学习
什么是二叉搜索树:右子树节点 > 根节点 > 左子树节点, 二叉搜索树中的搜索,返回给定值val所在的树节点 终止条件为传进来的节点为空、或者节点的值 val值,返回这个节点; 单程递归逻辑:定义一个resu…...
4/25 研0学习日志
Python学习 python 4个常用的数据容器 list dict tuple set list 列表中数据类型可以不一样 构造方式 mylist["xxx","xxxx"] 获取数据方式 mylist[1] mylist[:4] mylist[-1:] 添加数据 mylist.append() mylist.extern(["aaa","aaaa&…...

15. LangChain多模态应用开发:融合文本、图像与语音
引言:当AI学会"看听说想" 2025年某智慧医院的多模态问诊系统,通过同时分析患者CT影像、语音描述和电子病历,将误诊率降低42%。本文将基于LangChain多模态框架与Deepseek-R1,手把手构建能理解复合信息的智能系统。 一、…...

2022李宏毅老师机器学习课程笔记
机器学习笔记目录 1.绪论(内容概述)2.机器学习和深度学习的基本概念transformer 1.绪论(内容概述) 机器学习:让机器找一个函数,通过函数输出想要的结果。应用举例:语音识别,图像识别…...

笔试强训:Day2
一、字符串中找出连续最长的数字串(双指针) 字符串中找出连续最长的数字串_牛客题霸_牛客网 #include <iostream> #include <string> #include <cctype> using namespace std;int main() {//双指针string str;cin>>str;int nstr.size();int begin-1,l…...

linux合并命令(一行执行多个命令)的几种方式总结
背景: 最近安装配置机器,需要手打很多命令。又不能使用docker,所以就使用iTerm2连接多台服务器,然后move session到一个窗口中,shift command i使用XSHELL类似的撰写功能,就可以一次在多台服务器命令窗口…...

基于归纳共形预测的大型视觉-语言模型中预测集的**数据驱动校准**
摘要 本研究通过分离共形预测(SCP)框架,解决了大型视觉语言模型(LVLMs)在视觉问答(VQA)任务中幻觉缓解的关键挑战。虽然LVLMs在多模态推理方面表现出色,但它们的输出常常表现出具有…...
【器件专题1——IGBT第2讲】IGBT 基本工作原理:从结构到特性,一文解析 “电力电子心脏” 的核心机制
IGBT(绝缘栅双极型晶体管,Insulated Gate Bipolar Transistor)作为现代电力电子领域的核心器件,其工作原理融合了 MOSFET 的高效控制优势与 BJT 的大功率处理能力。本文从物理结构、导通 / 关断机制、核心特性等维度,深…...
【避坑指南】Spring拦截器中instanceof HandlerMethod失效的问题排查
问题背景 最近在使用Spring MVC开发项目时,我遇到了一个诡异的问题:在自定义拦截器的preHandle方法中,明明请求的是Controller层的方法,但handler instanceof HandlerMethod判断却总是返回false,导致拦截逻辑无法正常…...
青少年编程与数学 02-018 C++数据结构与算法 06课题、树
青少年编程与数学 02-018 C数据结构与算法 06课题、树 一、树(Tree)1. 树的定义2. 树的基本术语3. 常见的树类型4. 树的主要操作5. 树的应用 二、二叉树(Binary Tree)1. 二叉树的定义2. 二叉树的基本术语3. 二叉树的常见类型4. 二叉树的主要操作5. 二叉树的实现代码说明输出示例…...

docker学习笔记5-docker中启动Mysql的最佳实践
一、查找目录文件位置 1、mysql的配置文件路径 /etc/mysql/conf.d 2、mysql的数据目录 /var/lib/mysql 3、环境变量 4、端口 mysql的默认端口3306。 二、启动命令 1、启动命令说明 docker run -d -p 3306:3306 -v /app/myconf:/etc/mysql/conf.d # 挂载配置目录 -v…...

从零开始搭建Django博客③--前端界面实现
本文主要在Ubuntu环境上搭建,为便于研究理解,采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建,当涉及一些文件操作部分便于通过桌面化进行理解,通过Nginx代理绑定域名,对外发布。 此为从零开始搭建Django博客…...

系统与网络安全------弹性交换网络(3)
资料整理于网络资料、书本资料、AI,仅供个人学习参考。 STP协议 环路的危害 单点故障 PC之间的互通链路仅仅存在1个 任何一条链路出现问题,PC之间都会无法通信 解决办法 提高网络可靠性 增加冗余/备份链路 增加备份链路后交换网络上产生二层环路 …...

Cursor 配置 MCP Tool
文章目录 1、MCP Tool 的集合2、一个 demo :Sequential Thinking2.1、搜索一个 MCP Tool 获取 command 命令2.2、在 Cursor 配置2.3、配置状态检查与修正(解决网络问题)检查解决办法 2.4、使用 1、MCP Tool 的集合 https://smithery.ai/ 2、一个 demo :Sequential Thinking …...
SQL进阶知识:四、索引优化
今天介绍下关于索引优化的详细介绍,并结合MySQL数据库提供实际例子。 索引优化是数据库性能优化的关键环节之一,尤其是在处理大量数据时。索引可以加快查询速度,减少数据扫描范围,但不当的索引设计也可能导致性能问题。以下是关于…...
【Leetcode 每日一题】2799. 统计完全子数组的数目
问题背景 给你一个由 正 整数组成的数组 n u m s nums nums。 如果数组中的某个子数组满足下述条件,则称之为 完全子数组 : 子数组中 不同 元素的数目等于整个数组不同元素的数目。 返回数组中 完全子数组 的数目。 子数组 是数组中的一个连续非空序…...
OpenCV中的SIFT特征提取
文章目录 引言一、SIFT算法概述二、OpenCV中的SIFT实现2.1 基本使用2.1.1 导入库2.1.2 图片预处理2.1.3 创建SIFT检测器2.1.4 检测关键点并计算描述符2.1.5 检测关键点并计算描述符并对关键点可视化2.1.6 印关键点和描述符的形状信息 2.2 参数调优 三、SIFT的优缺点分析3.1 优点…...

【金仓数据库征文】-《深入探索金仓数据库:从基础到实战》
目录 前言 什么是金仓数据库? 金仓数据库的特点 金仓数据库的核心特点 金仓数据库与其他数据库的对比 金仓数据库的安装 常见的语句 总结 前言 为助力开发者、运维人员及技术爱好者快速掌握这一工具,本文将系统性地介绍金仓数据库的核心知识。内…...

RocketMQ 主题与队列的协同作用解析(既然队列存储在不同的集群中,那要主题有什么用呢?)---管理命令、配置安装
学习之前呢需要会使用linux的基础命令 一.RocketMQ 主题与队列的协同作用解析 在 RocketMQ 中,主题(Topic)与队列(Queue)的协同设计实现了消息系统的逻辑抽象与物理存储分离。虽然队列实际存储在不同集群的 B…...

从岗位依附到能力生态:AI革命下“什么叫就业”的重构与价值
在人工智能(AI)技术深刻重塑社会生产关系的当下,“就业”这一概念正经历着从“职业绑定”到“能力变现”的范式转移。本文将从传统就业观的解构、AI赋能艺术教育的价值逻辑、以及未来就业形态的进化方向三个维度,探讨技术驱动下就业的本质变革,并揭示AI技术如何通过教育创…...
leetcode_二叉树 230. 二叉搜索树中第 K 小的元素
230. 二叉搜索树中第 K 小的元素 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1输出:1…...