自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 什么是闭包问题?不要太通俗and易懂

闭包问题是指在函数定义时引用了外部变量,这些变量在函数被调用时可能已经发生了变化。解决闭包问题的方法包括使用默认参数和局部作用域等技巧,以确保每个函数拥有独立的变量副本,避免引用外部变量的最终值。

2024-07-22 16:26:55 503

原创 优化器中 weight_decay=1e-5 的作用是什么?

是优化器中的一个参数,用于实现L2正则化(也称为权重衰减)。L2正则化在损失函数中增加了权重参数的平方和,从而在每次梯度更新时对权重进行惩罚,避免权重过大。这有助于防止过拟合,并使模型更具泛化能力。在公式上,L2正则化将损失函数从原始的损失 L(𝜃) 修改为:其中,𝜃 是模型的权重参数,λ 是正则化强度,也就是。

2024-07-18 11:05:47 472

原创 为什么data_generator()函数中,使用yield返回数据,而不用return?

生成器函数是一个返回迭代器的函数,可以在执行过程中暂停,并在需要时恢复执行。这使得它非常适合生成序列或流数据,而不需要一次性在内存中存储所有数据。yieldyield关键字将一个函数转变为一个生成器函数,使其能够逐步生成值,而不需要一次性计算和存储所有值。生成器函数在处理大数据集和需要惰性求值的场景中非常有用。

2024-07-03 21:03:16 236

原创 对比两种读取数据的方法——PyTorch

这种方法首先将数据集的路径 存储在变量 中。 然后,使用 Pandas 的 函数根据 中的路径找到 ,并从中读取数据并将其存储在 DataFrame 中。 最后,通过 方法将 DataFrame 转换为 NumPy 数组 当使用 pandas 读取 CSV 文件时,默认情况下会得到一个 DataFrame 对象。虽然DataFrame 对象也可以直接用于一些数据处理,但在许多机器学习任务中,处理 numpy 数组更加直接和高效。除此之外,将数据转换为 numpy 数组后,能够更方便地与 Py

2024-06-22 19:28:12 266 1

原创 .grad_fn 的作用是什么?

.grad_fn` 是 PyTorch 中每个张量的一个属性,用于记录生成这个张量的操作。当进行反向传播时,`grad_fn` 帮助 PyTorch 确定如何沿着计算图传播梯度。通过查看 `grad_fn`,我们可以理解张量是如何通过一系列操作生成的,这对于调试和理解模型的计算流程非常有用。

2024-06-19 22:05:04 452

原创 如何正确使用.backward(gradient)中的gradient,自定义gradient参数?

第一段代码中的 out.backward() 自动计算 y.mean() 对 x 的梯度;第二段代码中的 y.backward(gradient) 使用自定义梯度 gradient 来计算 y 对 x 的梯度。因此,梯度的具体值会因为使用的 gradient 参数不同而有所变化。- 当输入 x 是向量,输出 y 是标量时,在 x 上的梯度是一个向量,这时不需要gradient参数。当输入 x 是向量,输出 y 是向量时, y 在 x 上的梯度是一个雅可比矩阵。

2024-06-19 21:35:34 452

原创 使用PyTorch的自动求导功能 计算雅可比矩阵(细节)

雅可比矩阵是对多元函数的导数进行梯度扩展的一种矩阵表示。对于一个具有m个输入和n个输出的函数,雅可比矩阵的大小为n×m。雅可比矩阵中的每个元素表示了输出分量相对于输入分量的偏导数。自动求导是PyTorch的一项重要功能。在计算过程中,PyTorch会为每个参与计算的张量建立一个计算图,用于记录计算过程中涉及的操作和张量之间的依赖关系,基于这个计算图,PyTorch可以根据链式法则自动计算函数的导数。

2024-06-19 20:13:58 1092 1

原创 损失函数下降到很大值就稳定了怎么办?!

综上,图中损失曲线均收敛至20000左右,没有出现回荡现象,因此学习率不优先修改。收敛值过高,怀疑可能是局部最优了,所以优先调节batch size。但是后续发现,我这边的代码真的不太好,效果很差,所以要考虑一下是不是损失函数太简单了,方法论不太好!:学习率太大,一步前进的路程太长,会出现来回震荡的情况,但是学习率太小,收敛速度会比较慢。终端第1列:epochs,第2列:训练损失(蓝色曲线),第3列:测试损失(橙色曲线)由上述结果可以看出,调小batch size之后,收敛后的损失值有明显下降。

2024-05-08 21:12:34 338 1

原创 解读张量的.detach()用法&用途

其中,’x.requires_grad_(True)‘和’x_1.requires_grad_(True)‘这两行修改了’x‘和’x_1’的 ‘requires_grad`属性。这使得PyTorch开始跟踪对`x`和`x_1`的操作,并且在需要的时候(如进行一个反向传播)计算这些操作的梯度。其中,‘xk.detach()’会创建一个新的张量‘x‘,它基于`xk`但与原始的计算图脱离。类似的,`xk_1.detach()`创建一个新的张量`x_1`,它基于`xk_1`但也是与原始的计算图脱离的。

2024-05-05 13:56:57 355 2

原创 TypeError: can‘t convert np.ndarray of type numpy.object_. The only supported types are: float64, fl

将numpy数组进行强制类型转换成float类型(或者任何pytorch支持的类型:float64, float32, float16, int64, int32, int16, int8, uint8, and bool)即可。读入的numpy数组里的元素是object类型,无法将这种类型转换成tensor。

2024-04-24 22:17:34 1149

原创 什么是图神经网络的过度光滑和过度挤压问题?二)

1. 对于图数据的瓶颈结构,图中红色粗实线代表边权较高的边连接,而图中绿色虚线虽然原图没有画,但是不代表节点之间一定没有联系,而是相对于边权较高的边来说绿色虚线的连接关系较弱,甚至没有,所以没有画出;3. 过度光滑和过度挤压 难以同时得到真正有效的缓解,现有文献开始做两者之间的平衡,以实现一种折衷的方法。2. 个人观点,过度挤压是由。

2024-04-24 15:17:04 324

原创 什么是图神经网络的过度光滑和过度挤压问题?(一)

简单通俗,还有例子

2024-04-08 20:40:42 2078

原创 废话不多,方法简单:module ‘numpy‘ has no attribute ‘bool‘

废话不多,方法简单:module 'numpy' has no attribute 'bool'

2024-03-26 09:45:49 472 1

原创 FutureWarning: The default value of numeric_only in DataFrame.corr is deprecated. In a future versio

简单迅捷

2024-03-26 09:30:01 678

原创 为什么loss曲线这么陡?陡降

为什么loss曲线这么陡?陡降

2023-11-21 10:07:16 222

原创 废话不多,方法简单:RuntimeError: grad can be implicitly created only for scalar outputs

对一个非标量值进行反向传播(backward pass),但没有提供梯度(grad)的参数。在自动微分中,我们通常对标量(单个数值)进行反向传播,计算该标量对某些输入张量的梯度。如果反向传播的输出不是标量,就需要显式地指定一个与输出同形状的张量来表示梯度。2. 通过提供梯度参数,就相当于告诉PyTorch如何对非标量输出进行反向传播。同形状的张量,并且包含了损失函数对每个元素的梯度。,因为可能不同值的梯度对结果影响程度不同;的作用其实可以简单地理解成在求梯度时的。后再进行反向传播,相当于对。

2023-11-20 20:33:32 1371 1

原创 废话不多,方法简单:RuntimeError: self must be a matrix

废话不多,方法简单:RuntimeError: self must be a matrix

2023-11-20 19:36:40 752 1

原创 废话不多,方法简单:RuntimeError: mat1 and mat2 shapes cannot be multiplied (1x16 and 20x64)

废话不多,方法简单:RuntimeError: mat1 and mat2 shapes cannot be multiplied (1x16 and 20x64)

2023-11-20 15:49:15 2749 1

原创 废话不多,方法简单:AttributeError: ‘numpy.ndarray‘ object has no attribute ‘iloc‘

废话不多,方法简单:AttributeError: 'numpy.ndarray' object has no attribute 'iloc'

2023-11-14 21:31:56 3971 1

原创 废话不多,方法简单:IndexError: list assignment index out of range

废话不多,方法简单:IndexError: list assignment index out of range

2023-11-07 11:58:45 208 1

原创 废话不多,方法简单:‘builtin_function_or_method‘ object is not subscriptable

废话不多,方法简单:'builtin_function_or_method' object is not subscriptable

2023-10-23 11:34:38 1527 1

空空如也

空空如也

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

TA关注的人

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