草庐IT

爱因斯坦求和约定 含代码einsum

目录一、简介1.哑标2.自由标二、torch实现1.计算迹2.取矩阵对角线3.计算外积4.batch矩阵乘法5.带有子列表和省略号6.变换维度7.双线性变换,类似于torch.nn.functional.bilinear一、简介        爱因斯坦求和约定(Einsteinsummationconvention)是一种标记的约定,又称为爱因斯坦标记法(Einsteinnotation),可以基于一些约定简写格式表示多维线性代数数组操作,让表达式更加简洁明了。    既然是约定,那我们就来看看都约定了什么,主要有如下两点:1.哑标        公式中不同字母分别有重复一次的上角标和下角标时

爱因斯坦求和约定 含代码einsum

目录一、简介1.哑标2.自由标二、torch实现1.计算迹2.取矩阵对角线3.计算外积4.batch矩阵乘法5.带有子列表和省略号6.变换维度7.双线性变换,类似于torch.nn.functional.bilinear一、简介        爱因斯坦求和约定(Einsteinsummationconvention)是一种标记的约定,又称为爱因斯坦标记法(Einsteinnotation),可以基于一些约定简写格式表示多维线性代数数组操作,让表达式更加简洁明了。    既然是约定,那我们就来看看都约定了什么,主要有如下两点:1.哑标        公式中不同字母分别有重复一次的上角标和下角标时

RNN的PyTorch实现

官方实现PyTorch已经实现了一个RNN类,就在torch.nn工具包中,通过torch.nn.RNN调用。使用步骤:实例化类;将输入层向量和隐藏层向量初始状态值传给实例化后的对象,获得RNN的输出。在实例化该类时,需要传入如下属性:input_size:输入层神经元个数;hidden_size:每层隐藏层的神经元个数;num_layers:隐藏层层数,默认设置为1层;nonlinearity:激活函数的选择,可选是'tanh'或者'relu',默认设置为'tanh';bias:偏置系数,可选是'True'或者'False',默认设置为'True';batch_first:可选是'True'

RNN的PyTorch实现

官方实现PyTorch已经实现了一个RNN类,就在torch.nn工具包中,通过torch.nn.RNN调用。使用步骤:实例化类;将输入层向量和隐藏层向量初始状态值传给实例化后的对象,获得RNN的输出。在实例化该类时,需要传入如下属性:input_size:输入层神经元个数;hidden_size:每层隐藏层的神经元个数;num_layers:隐藏层层数,默认设置为1层;nonlinearity:激活函数的选择,可选是'tanh'或者'relu',默认设置为'tanh';bias:偏置系数,可选是'True'或者'False',默认设置为'True';batch_first:可选是'True'

强化学习,直接策略搜索,策略梯度,入门样例

策略梯度,入门样例原文链接:https://www.cnblogs.com/Twobox/参考链接:https://datawhalechina.github.io/easy-rl/#/chapter4/chapter4https://zhuanlan.zhihu.com/p/358700228策略网路结构算法流程与策略梯度添加一个基线调整更合适的分数代码结构需要的包importnumpyasnpimportgymimportmatplotlib.pyplotaspltimporttorch#torch.optim.SGD内置优化器importtorch.nnasnn#模型库importtor

强化学习,直接策略搜索,策略梯度,入门样例

策略梯度,入门样例原文链接:https://www.cnblogs.com/Twobox/参考链接:https://datawhalechina.github.io/easy-rl/#/chapter4/chapter4https://zhuanlan.zhihu.com/p/358700228策略网路结构算法流程与策略梯度添加一个基线调整更合适的分数代码结构需要的包importnumpyasnpimportgymimportmatplotlib.pyplotaspltimporttorch#torch.optim.SGD内置优化器importtorch.nnasnn#模型库importtor

矩池云快速安装torch-sparse、torch-geometric等包

租用机器,按自己需要的环境选择一个环境,我这里选择的是Pytorch1.10。租用成功后点击租用页面的Jupyterlab链接。Jupyterlab里新建一个Terminal用来安装环境,先检查Pytorch、CUDA版本,如下图可以看到我的环境Pytorch1.10.0,CUDA11.3。接下来安装torch-scattertorch-sparsetorch-clustertorch-spline-convtorch-geometric这些包。PyG官方提供的安装方法(部分torch版本下安装会出错):pipinstalltorch-scattertorch-sparsetorch-clus

矩池云快速安装torch-sparse、torch-geometric等包

租用机器,按自己需要的环境选择一个环境,我这里选择的是Pytorch1.10。租用成功后点击租用页面的Jupyterlab链接。Jupyterlab里新建一个Terminal用来安装环境,先检查Pytorch、CUDA版本,如下图可以看到我的环境Pytorch1.10.0,CUDA11.3。接下来安装torch-scattertorch-sparsetorch-clustertorch-spline-convtorch-geometric这些包。PyG官方提供的安装方法(部分torch版本下安装会出错):pipinstalltorch-scattertorch-sparsetorch-clus

Pytorch基础-tensor数据结构

文章首发于我的github仓库-cv算法工程师成长之路,欢迎关注我的公众号-嵌入式视觉。torch.TensorTensor数据类型Tensor的属性view和reshape的区别Tensor与ndarray创建Tensor传入维度的方法参考资料torch.Tensortorch.Tensor是一种包含单一数据类型元素的多维矩阵,类似于numpy的array。可以使用使用torch.tensor()方法将python的list或序列数据转换成Tensor数据,生成的是dtype默认是torch.FloatTensor。注意torch.tensor()总是拷贝data。如果你有一个tensord

Pytorch基础-张量基本操作

文章首发于我的github仓库-cv算法工程师成长之路,欢迎关注我的公众号-嵌入式视觉。一,张量的基本操作二,维度变换2.1,squeezevsunsqueeze维度增减2.2,transposevspermute维度交换三,索引切片3.1,规则索引切片方式3.2,gather和torch.index_select算子四,合并分割4.1,torch.cat和torch.stack4.2,torch.split和torch.chunk五,卷积相关算子5.1,上采样方法总结5.2,F.interpolate采样函数5.3,nn.ConvTranspose2d反卷积参考资料授人以鱼不如授人以渔,原汁