精华内容
下载资源
问答
  • 张量微分
    千次阅读
    2020-04-28 17:54:22

    节选自:https://zhuanlan.zhihu.com/p/37900429

    模式1展开(model-1 unfolding)

     

    模式2展开(model-2 unfolding)

    模式3展开(model-3 unfolding)

    张量展开示意图:

    preview

    例子: 

     

    更多相关内容
  • 张量分析之张量微分

    2022-09-13 12:58:12
    张量分析之张量微分学习笔记:

    张量分析之张量微分学习笔记:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • .view()张量变形及张量的grad属性

    数据、代码等相关资料来源于b站日月光华老师视频,此博客作为学习记录。

    一、张量变形

    张量变形的一个前提条件是元素个数必须是相等的。例如一个4×6的共24个元素的tensor,它再变化也得元素一共是24的,不可能变成5×5的tensor。
    变形方法:.view()

    • 变形示例
    t = torch.randn(4, 6)
    print(t)
    t1 = t.view(3,8)
    print(t1)
    

    在这里插入图片描述

    • 自动计算的变形
    t2 = t.view(-1, 1)
    # -1意为自动计算,1意为第二个维度为一维。即使第二维为1时,让前面的维度自动计算
    print(t2)
    

    在这里插入图片描述

    • 多维展平示例
    # 假设读入的特征图4维,想让后面3维展平
    t = torch.randn(12, 3, 4, 4)
    t1 = t.view(12, 3*4*4)
    print(t1.shape)
    

    在这里插入图片描述
    可见其从四维变成二维。

    • 维度的增加和删除
    # 假设读入的特征图4维,想让后面3维展平
    t = torch.randn(12, 48)
    # 增加维度
    t1 = t.view(1, 12, 48)
    print(t1.shape)
    # 删除维度
    t2 = torch.squeeze(t1)
    print(t2.shape)
    # 注意.squeeze方法删除的是其中维度为1的维度
    

    在这里插入图片描述

    二、张量的自动微分

    # requires_grad就代表着pytorch会开始追踪t的计算
    t = torch.ones(2, 2, requires_grad=True)
    y = t + 5
    print(y)
    print(y.grad_fn)
    # 这里y后面出现了grad_fn的属性,是得到此张量的方法
    # 并且y也会继承requires_grad的属性
    

    在这里插入图片描述
    继续计算:

    z = y*2
    out = z.mean()
    print(out)
    

    在这里插入图片描述
    得到的out的结果,仍然是有requires_grad的属性,且说明得到out的方法是mean。得到的out的结果是一个维度为0的标量值,可以调用自动微分。

    out.backward()
    print(t.grad)  # grad属性记录计算得到的梯度
    # 以数学公式来看可表示为d(out)/dt
    

    在这里插入图片描述

    • 不需要跟踪梯度时
      (1)当某些地方不需要跟踪梯度时:
    # 如果一些计算不需要跟踪其梯度,可以使用一下方法:
    with torch.no_grad():
        y1 = t * 2
        print(y1.grad_fn)
    

    打印的结果就是:
    在这里插入图片描述
    (2) 截断梯度

    t = torch.ones(2, 2, requires_grad=True)
    y = t + 5
    z = y*2
    out = z.mean()   # 还是刚才的计算
    
    result = out.detach()  # 使用.detach()对梯度截断
    print(result.grad_fn)
    

    resul的梯度:
    在这里插入图片描述

    总结:
    在这里插入图片描述
    tensor的三个属性:
    data是其tensor值,grad记录其梯度值,grad_fn记录其通过什么方法得到目前的张量。

    展开全文
  • rust-autograd:Rust中的张量微分运算(例如TensorFlow)
  • autograd由ndarray支持的可微分运算和张量。 动机机器学习是Rust落后于其他lang autograd可微分运算和ndarray支持的张量的领域之一。 动机机器学习是Rust落后于其他语言的领域之一。 此板条箱的目的是表明Rust具有...
  • 在这里我们尝试利用这一软件进行一阶微分方程的推导。首先回顾一下一阶微分方程的解法。 首先将非齐次方程存储到一个名为“非齐次方程”的符号中,然后求解相应齐次方程的通解并存储在“齐次方程通解”中。 非齐次...

    Methematica是一款符号运算的利器,可以完成各种复杂的符号运算。在这里我们尝试利用这一软件进行一阶微分方程的推导。首先回顾一下一阶微分方程的解法。

    一阶线性微分方程

    在这里插入图片描述

    齐次方程通解

    首先将非齐次方程存储到一个名为“非齐次方程”的符号中,然后求解相应齐次方程的通解并存储在“齐次方程通解”中。

    DSolve[D[y[x], x] + p[x] y[x] == q[x], y[x], x]
    (*即可获得非齐次方程的通解: *)
    非齐次方程 = HoldForm[D[y[x], x] + p[x] y[x] == q[x]]
    (*将非齐次方程存储到一个名为“非齐次方程”的符号中*)
    齐次方程通解 = DSolve[D[y[x], x] + u[x] y[x] == 0, y[x], x]
    (*求解相应齐次方程的通解并存储在“齐次方程通解”*)
    

    在这里插入图片描述
    非齐次方程的通:
    在这里插入图片描述

    非齐次方程通解

    利用常数变易法。
    常数变易法是解线性微分方程行之有效的一种方法。它是拉格朗日十一年的研究成果,我们所用仅是他的结论,并无过程。
    常数变易法是个特殊的变量代换法。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    
    
    常数变易方程 = 齐次方程通解 /. C[1] -> C[1][x]
    (*将通解中的常数项c1替换为C[x]并存储在“常数变易方程”中*)
    
    非齐次方程 = HoldForm[D[y[x], x] + p[x] y[x] == q[x]]
    (*将非齐次方程存储到一个名为“非齐次方程”的符号中*)
    
    常数方程 = ReleaseHold[非齐次方程 /. 常数变易方程]
    (*将变易后的方程代到非齐次方程中,可以得到含有常数函数的方程*)
    常数解 = DSolve[常数方程, C[1], x]
    (**)
    特解 = 齐次方程通解 /. C[1] -> C[1][x] /. 常数解
    (*使用常数函数替换齐次方程通解中的常数,可得特解*)
    非齐次通解 = y[x] -> Simplify[((y[x] /. 特解) + (y[x] /. 齐次方程通解))]
    (*非齐次方程的通解为特解+齐次通解:*)
    ReleaseHold[非齐次方程 /. 非齐次通解]
    (*验证一下,将非齐次通解带入原来的非齐次方程检验是否正确*)
    

    常数变易方程:
    在这里插入图片描述

    在这里插入图片描述

    接下来,将通解中的常数项c1替换为C[x]并存储在“常数变易方程”中:
    将变易后的方程代到非齐次方程中,可以得到含有常数函数的方程:
    使用常数函数替换齐次方程通解中的常数,可得特解:

    1、将通解中的常数项c1替换为C[x]并存储在“常数变易方程”中*
    在这里插入图片描述
    2、将变易后的方程代到非齐次方程中,可以得到含有常数函数的方程:
    在这里插入图片描述
    在这里插入图片描述

    附录

    齐次方程通解 = DSolve[D[y[x], x] + u[x] y[x] == 0, y[x], x]
    常数变易方程 = 齐次方程通解 /. C[1] -> C[1][x]
    常数方程 = ReleaseHold[非齐次方程 /. 常数变易方程]
    常数解 = DSolve[常数方程, C[1], x]
    特解 = 齐次方程通解 /. C[1] -> C[1][x] /. 常数解
    非齐次通解 = y[x] -> Simplify[((y[x] /. 特解) + (y[x] /. 齐次方程通解))]
    ReleaseHold[非齐次方程 /. 非齐次通解]
    

    在这里插入图片描述

    展开全文
  • 微分几何II 曲率

    千次阅读 2018-08-24 05:15:30
    曲率在微分几何中的作用是重要的,它用来刻画曲面在各点处的弯曲程度。Gauss 早期就有惊人的发现:曲面在每一点的两个主曲率的乘积(称为高斯曲率)仅与曲面的第一基本形式有关,与曲面在 R 3 R^3 R 3 中出现的具体...
  • 什么是tensor张量2.tensor张量的基本操作二、pytorch自动微分总结 前言   本系列主要是对pytorch基础知识学习的一个记录,尽量保持博客的更新进度和自己的学习进度。本人也处于学习阶段,博客中涉及到的知识可能...
  • from《电动力学》刘觉平
  • 张量的操作 (1)张量变换 (2)张量拼接与切分 tensor与numpy转换 1.numpy.array转换为torch.tensor 2.torch.tensor转换为numpy.array 自动微分Autograd 张量(tensor)基础 tensor和numpy非常像,无论是创建还是...
  • 因此这一节课我们有必要去学习一些基础、底层的张量微分运算操作以及明白如何去自定义我们的层。 首先我们要知道我们在前面几个章节所实践的内容格式都是张量形式的。例如,一张图片在Tensorflow模型中...
  • 自动微分 I.引言 张量网络是研究经典统计物理和量子多体物理问题的重要方法[1-3]。近年来,它的应用迅速扩展到不同的领域,包括量子电路的仿真与设计[4-7]、量子误差校正[8,9]、机器学习[10-14]、语言建模[15,16]、...
  • 基于时间的AMEn算法以张量序列格式求解常微分方程。 参见论文“以张量积格式对ODE和守恒定律的替代最小能量方法”,[]。 内容 主要的高端套路 tamen.m来自上述论文的算法1(tAMEn),是TT格式的自适应时间传播器。 a...
  • 我们公开了标量张量理论的显着特征,以及标量场与Palatini形式主义中曲率的导数耦合。 使用变形变换,我们证明了该理论没有Ostrogradski鬼魂。 对于两个耦合常数之间的特殊关系,它与最小耦合到标量的爱因斯坦引力在...
  • 一、张量的变形 1.张量的形状变换 代码 import torch import numpy as np if __name__ == '__main__': t = torch.randn(4, 6) print(t.shape) # 类型的转换 t1 = t.view(3, 8) print(t1.size()) # 转换为2维...
  • 概述层数优化器损失张量运算引擎建筑学安装iOS / tvOS / macOS 在Xcode中,选择“文件”>“快速包”>“添加包依赖项” 在Package URL字段中输入https://github.com/palle-k/DL4S.git ,然后单击“ Next”。...
  • 2)Pytorch中的张量:Tensor 3)Pytorch自动微分器:Autograd 4)自定义Autograd 5)Pytorch计算图 6)把计算图打包成layers: nn Module 7)自动梯度更新器:Optim 8)自定义Module 9)动态计算图 总的来说,...
  • 张量 静态大小的张量和Julia的... 任何张量也可用于提供的自动微分功能。 速度 a = rand (Vec{ 3 }) # vector of length 3 A = rand (SecondOrderTensor{ 3 }) # 3x3 second order tensor S = rand (SymmetricSecondOrd
  • Pytorch张量(Tensor)基本介绍与使用

    千次阅读 2022-04-14 11:51:10
    文章目录 前言 一、Pytorch张量与数据类型 1.生成随机矩阵 2.查看随机矩阵规模 ...三、张量微分运算 1.张量的自动微分 2. 设置Tensor不可跟踪计算(测试集常用) 3.就地改变Tensor(张量)变量的requires_grad值
  • 这是图像或张量的调整大小包,可无缝支持Numpy和PyTorch。 创建此文件的主要动机是要解决我所知道的所有其他调整大小包中存在的一些关键不正确性问题。 据我所知,它是在所有情况下都能正确执行的唯一操作。 ...
  • 1张量 张量可以使用GPU加速,可以自动将python内置数据类型转换为张量张量有形状和数据类型。张量与numpy主要区别为:1张量可以用GPU加速2张量不可变。 Tensors和Numpy ndarrays可以自动相互转换。Tensors使用....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,090
精华内容 2,036
关键字:

张量微分