05_pytorch_AUTOMATIC_DIFFERENTIATION
AUTOMATIC DIFFERENTIATION WITH TORCH.AUTOGRAD在训练神经网络时,最常用的算法是反向传播。在该算法中,根据损失函数相对于给定参数的梯度来调整参数(模型权重)。
为了计算这些梯度,PyTorch 有一个名为 torch.autograd 的内置微分引擎。它支持任何计算图的梯度自动计算。
考虑最简单的单层神经网络,具有输入 x 、参数 w 和 b 以及一些损失函数。它可以通过以下方式在 PyTorch 中定义:
12345678import torchx = torch.ones(5) # input tensory = torch.zeros(3) # expected outputw = torch.randn(5, 3, requires_grad=True)b = torch.randn(3, requires_grad=True)z = torch.matmul(x, w)+bloss = torch.nn.functional.binary_cross_entropy_with_logits(z, y)
Tensors, Func ...
04_pytorch_build_the_neural_network
BUILD THE NEURAL NETWORK神经网络的构成是什么?
神经网络由对数据执行操作的层/模块组成。
层和模块在哪里?
torch.nn 命名空间提供了构建您自己的神经网络所需的所有构建块。
PyTorch 中的每个模块都是 nn.Module 的子类。
神经网络的的嵌套构成
神经网络本身就是一个模块,由其他模块(层)组成。
嵌套结构的好处
这种嵌套结构允许轻松构建和管理复杂的架构。
在以下部分中,我们将构建一个神经网络来对 FashionMNIST 数据集中的图像进行分类。
12345import osimport torchfrom torch import nnfrom torch.utils.data import DataLoaderfrom torchvision import datasets, transforms
Get Device for Training如果我们在具有GPU的设备上,可以使用GPU加速。
如何使用GPU?
我们希望能够在 GPU 或 MPS 等硬件加速器(如果可用)上训练我们的模型。让我们检查一下 torch.cud ...
03_pytorch_Transforms
TRANSFORMSTransforms是什么?
数据并不总是以训练机器学习算法所需的最终处理形式出现。我们使用转换来对数据执行一些操作并使其适合训练。
应该如何转化?
所有 TorchVision 数据集都有两个参数 - 用于修改功能的 transform 和用于修改标签的 target_transform - 接受包含转换逻辑的可调用对象。 torchvision.transforms 模块提供了几种开箱即用的常用转换。
例如:
FashionMNIST特征采用PIL图像格式,标签为整数。对于训练,我们需要将特征作为归一化张量,将标签作为单热编码张量。为了进行这些转换,我们使用 ToTensor 和 Lambda 。
1234567891011import torchfrom torchvision import datasetsfrom torchvision.transforms import ToTensor, Lambdads = datasets.FashionMNIST( root="data", train=True, down ...
02_pytorch_datasets_DataLoaders
DATASETS & DATALOADERSDATASETS是什么?
torch.utils.data.Dataset,
Dataset允许您使用预加载的数据集以及您自己的数据
Dataset 存储样本及其相应的标签
DATALOADERS是什么?
torch.utils.data.DataLoader
DataLoader 在 Dataset 周围包装一个迭代,以便轻松访问样本。
解决什么问题?
用于处理数据样本的代码可能会变得混乱且难以维护
理想情况下,我们希望数据集代码与模型训练代码分离,以获得更好的可读性和模块化性
PyTorch 提供了什么数据集,有什么用
提供了许多预加载的数据集(例如 FashionMNIST)。
它们对 torch.utils.data.Dataset 进行子类化并实现特定于特定数据的函数
给我们提示,如果要构建自己的数据集同样应该继承Dataset
可以做什么:对您的模型进行原型设计和基准测试。
在哪里找到:Image Datasets, Text Datasets, and Audio Datasets
Loading a Dataset ...
01_pytorch_tensors
TensorsTensors是什么张量是一种特殊的数据结构,与数组和矩阵非常相似。
Tensors什么作用张量对模型的输入和输出以及模型的参数进行编码
Tensors 和 NumPy的ndarrays对比不同:
张量可以在 GPU 或其他硬件加速器上运行
张量还针对自动微分进行了优化
Tensors 和Numpy的ndarrays联系张量和 NumPy 数组通常可以共享相同的底层内存,从而无需复制数据。
Initializing a Tensor1.通过数据创建,类型可以自动推导
12data = [[1, 2],[3, 4]]x_data = torch.tensor(data)
2.通过numpy创建
12np_array = np.array(data)x_np = torch.from_numpy(np_array)
3.从另一个Tensor创建,新Tensor保留参数Tensor的属性(形状、数据类型),除非显式覆盖。
12345x_ones = torch.ones_like(x_data) # retains the properties of x_datapri ...
SDCDNet:一种用于遥感图像的超弱标签半对偶变化检测网络框架
SDCDNet是指什么SDCDNet 全称 Semi-Dual Change Detection Network 。其中Semi-Dual是半对偶, Change Detection是变化检测,Network是神经网络模型。
变化检测 Change Detection变化检测是从不同时期的遥感数据中定量分析和确定地表变化的特征与过程;
遥感变化检测是一个确定和评价各种地表现象随时间发生变化的过程;
遥感变化检测是遥感瞬时视场中地表特征随时间发生的变化引起两个时期影像像元光谱响应的变化;
作用
更新地理数据的关键技术
评估灾害、预测灾害发展趋势的关键技术
土地覆盖/利用监测的关键技术
新一代智能型对地观测卫星的关键技术
传统经典方法先获得两幅同一地点不同时间图像的差异图像,再对差异图像进行处理,将像素点分成变化和无变化两类。
差异图的获得有很多方法:
直接相减法
log法
变化向量分析法(CVA)
差异图的处理方法:
贝叶斯理论的无监督法(像素之间独立)
马尔科夫随机场理论的无监督法(像素之间独立)
自动获取阈值的方法(考虑像素之间的上下文信息)
一般的变化检测的问题 ...
地狱门代码详解
结论通过火焰方块的放置判断当前的位置是否可以生成地狱门传送方块,其中判断是否满足生成的条件使用的PortalShape类。若可以生成EventHooks的onTrySpawnPortal方法。其中EventHooks的onTrySpawnPortal方法调用了PortalSpawnEvent事件。之后得到的结果为true的情况下。通过PortalShape类的createPortalBlocks方法创建方块。
意义地狱门就是一个多方块结构,通过这个实现我们可以设计其他的多方块结构。
PortalShape类用于处理和检测游戏中的传送门
123456789101112131415161718192021222324252627282930313233343536373839PortalShape类 // 处理游戏中的传送门的形状MIN_WIDTH // 最小宽度MAX_WIDTH // 最大宽度MIN_HEIGHT // 最小高度MAX_HEIGHT // 最大高度IBlockStateExtension::isPortalFrame; // 传送门框架判断函数// 用于给定位置和方向 ...
自然辩证法习题
题型简答题四选三
论述题 2个
简答题机械唯物主义自然观,缺陷,什么是机械唯物主义自然观机械唯物主义自然观是什么:机械唯物主义自然观是16-18世纪的自然科学家和哲学家们根据牛顿经典力学等自然成果,概况和总结自然界及其与人类的关系形成的机械唯物主义和形而上学的自然观。
与马克思自然观的关系是:重要的思想渊源
机械唯物主义自然观的观点:
自然界由物质构成,物质由不可再分的微粒构成。
自然界具有绝对不变性,自然物和时间,空间都是不变的。
自然界的物质运动是受外力的作用,遵循因果规律的机械运动,宇宙的过程可以用简单的数学方程式表示。
自然界受到上帝的“目的性”支配。
以形而上学的思维方式认识自然界,即它先把整体分割为若干孤立的部分要素进行研究,再把这些部分合为一体;他是与辩证法相对的,是用孤立,静止的观点观察世界的思维方式;这种思维方式在研究方法方面超过古希腊,但是在自然观方面却低于过古希腊。
人和自然界都是机器,并且是分立的。
机械唯物主义自然观的额缺陷:
主要体现:以机械决定论的观点认识自然界的存在及其规律,并以形而上学方法开展具体研究;以因果决定论的观点推测自然界的未来发展。
以 ...
搭建该blog的你可能需要的相关资料
介绍这里罗列下搭建本blog时候用到了那些文档方便想要自己的搭建一个的去用。
资料博客搭建hexo博客的搭建教程,其中第三步域名绑定可选做。
Hexo搭建个人博客-并部署到Github上托管(Windows) - 知乎 (zhihu.com)
主题使用这里简单介绍了怎么配置使用主题,并给出了一部分主题的配置,详细的主题配置还是推荐看作者给的内容。
Hexo-Butterfly主题配置 - NcPhoton - 博客园 (cnblogs.com)
主题配置这里是作者官网给出的配置文档,写的比较详细,也导致你需要的和不需要的很多,需要耐心阅读找到你需要的。
其中不仅仅是一,还请翻阅其他的篇幅。
Butterfly 安裝文檔(一) 快速開始 | Butterfly
关于自己写一个简单模组的想法
想法做一个能够直接破坏矿物的爆炸的物品,类似于匠魂2的EPLE物品,可以直接用来挖矿,并再这个基础上做一些拓展
灵感来自匠魂的[EFLN - TiC2]匠魂2 (Tinkers’ Construct 2) - MC百科|最大的Minecraft中文MOD百科 (mcmod.cn)。
实现的内容
实现匠魂物品的基础功能。
实现不同的范爆炸范围,通过木头,石头,铁,钻石,下届合金(之后也可以加入金和铜不过目前没想到什么特性)合成具有不同的爆炸范围。
加入一种圆石进行的合成,可以爆炸后仅保留矿物。
加入一种末影珍珠合成的物品,可以爆炸后将所有物品传到玩家背包中,而不是掉落在地上。
添加一套新的火药的获的途径
目前想法开发过程
实现匠魂代码的运行,保证和原物品一样的功能
在此基础上添加具有不同范围的“物品”。 ^1
在此基础上添加受到时运效果影响的“物品”
在此基础上添加能够传送掉落物品的“物品”
关于该模组命名暂定Mine helper吧。挖矿小助手。欢迎各位想想啥中二名字。
也欢迎给该模组提供能,我会选择考虑是否加入。
结论没啥结论。之后在更新。
目前存在进度和存在问题进度开发了一个物 ...