1.最近有什么好看的源码欧美大片啊?
2.PyTorch源码学习系列 - 2. Tensor
最近有什么好看的欧美大片啊?
最近有什么好看的欧美大片,在线观看免费资源
剧名:贫民窟的屋源百万富翁 百度网盘下载观看链接:/s/WwUZmuYsGGE1OGD_tGnkw 提取码:cohk
剧名:七宗罪 百度网盘下载观看链接:/s/1SOQ3HJzldqJvdmFyXolQ 提取码:c
剧名:剪刀手爱德华 百度网盘下载观看链接:/s/1xVmhau-stdPytbjGJryvkg 提取码:3b
剧名:飞屋环游记 百度网盘下载观看链接:/s/1oQfxfHdAtEyrG3rCWuYGMQ 提取码:i8g0
剧名:当幸福来敲门 百度网盘下载观看链接:/s/1B1mXgBVJuCyKsNQXLZuw 提取码:jalm
剧名:寻梦环游记 百度网盘下载观看链接:/s/1JZV6RJJ_IQewAh8LkB_A 提取码:je
剧名:头号玩家 百度网盘下载观看链接:/s/1Q2hibjOWPrQ6hi4K4jad0A 提取码:qorh
剧名:源代码 百度网盘下载观看链接:/s/1uTQ4YxtOgb3ZAxJTFCAWjg 提取码:adqb
剧名:忠犬八公的故事 百度网盘下载观看链接:/s/YqmU4QlMlyKtiviS8g 提取码:bp4s
剧名:触不可及 百度网盘下载观看链接:/s/1beP9mO5-Bh1sWilpt-HrFQ 提取码:qrca
剧名:辛德勒的名单 百度网盘下载观看链接:/s/1d6bLX7n_XOS8HJAA0ImeOw 提取码:rm2v
剧名:看不见的客人 百度网盘下载观看链接:/s/1i_DA-ufR3RPRRDhYoSosLQ 提取码:9nr5
剧名:天使爱美丽 百度网盘下载观看链接:/s/1xacH_pHJ7yc7VqVVp3GkPg 提取码:mn1w
剧名:黑天鹅 百度网盘下载观看链接:/s/1B5aLxzP4GMdPRVK1coEVTQ 提取码:3c
剧名:超能陆战队 百度网盘下载观看链接:/s/e2-e_s3ItiU_NFhV5m1Q 提取码:sb
剧名:怦然心动 百度网盘下载观看链接:/s/1wQPPbPBetu_B3XFr5qQzhg 提取码:dbrp
剧名:星际穿越 百度网盘下载观看链接:/s/1-J8_5HVayRwSXokNzYBjwA 提取码:g
剧名:机器人总动员 百度网盘下载观看链接:/s/1K0ZHveVgqKBkMIRF-a5cpg 提取码:fa9i。
PyTorch源码学习系列 - 2. Tensor
本系列文章同步发布于微信公众号小飞怪兽屋及知乎专栏PyTorch源码学习-知乎(zhihu.com),码代欢迎关注。源码
若问初学者接触PyTorch应从何学起,屋源答案非神经网络(NN)或自动求导系统(Autograd)莫属,码代aurora 源码而是源码看似平凡却无所不在的张量(Tensor)。正如编程初学者在控制台输出“Hello World”一样,屋源Tensor是码代PyTorch的“Hello World”,每个初学者接触PyTorch时,源码都通过torch.tensor函数创建自己的屋源Tensor。
编写上述代码时,码代我们已步入PyTorch的源码宏观世界,利用其函数创建Tensor对象。屋源然而,码代Tensor是如何创建、存储、设计的?今天,让我们深入探究Tensor的开源的壁纸源码微观世界。
Tensor是什么?从数学角度看,Tensor本质上是多维向量。在数学里,数称为标量,一维数据称为向量,二维数据称为矩阵,三维及以上数据统称为张量。维度是衡量事物的方式,例如时间是随机转盘html源码一种维度,销售额相对于时间的关系可视为一维Tensor。Tensor用于表示多维数据,在不同场景下具有不同的物理含义。
如何存储Tensor?在计算机中,程序代码、数据和生成数据都需要加载到内存。存储Tensor的物理媒介是内存(GPU上是显存),内存是一块可供寻址的存储单元。设计Tensor存储方案时,蓝洞源码丢失需要先了解其特性,如数组。创建数组时,会向内存申请一块指定大小的连续存储空间,这正是PyTorch中Strided Tensor的存储方式。
PyTorch引入了步伐(Stride)的概念,表示逻辑索引的相对距离。例如,一个二维矩阵的财神到金牌源码Stride是一个大小为2的一维向量。Stride用于快速计算元素的物理地址,类似于C/C++中的多级指针寻址方式。Tensor支持Python切片操作,因此PyTorch引入视图概念,使所有Tensor视图共享同一内存空间,提高程序运行效率并减少内存空间浪费。
PyTorch将Tensor的物理存储抽象成一个Storage类,与逻辑表示类Tensor解耦,建立Tensor视图和物理存储Storage之间多对一的联系。Storage是声明类,具体实现在实现类StorageImpl中。StorageImp有两个核心成员:Storage和StorageImpl。
PyTorch的Tensor不仅用Storage类管理物理存储,还在Tensor中定义了很多相关元信息,如size、stride和dtype,这些信息都存在TensorImpl类中的sizes_and_strides_和data_type_中。key_set_保存PyTorch对Tensor的layout、device和dtype相关的调度信息。
PyTorch创建了一个TensorBody.h的模板文件,在该文件中创建了一个继承基类TensorBase的类Tensor。TensorBase基类封装了所有与Tensor存储相关的细节。在类Tensor中,PyTorch使用代码自动生成工具将aten/src/ATen/native/native_functions.yaml中声明的函数替换此处的宏${ tensor_method_declarations}
Python中的Tensor继承于基类_TensorBase,该类是用Python C API绑定的一个C++类。THPVariable_initModule函数除了声明一个_TensorBase Python类之外,还通过torch::autograd::initTorchFunctions(module)函数声明Python Tensor相关的函数。
torch.Tensor会调用C++的THPVariable_tensor函数,该函数在文件torch/csrc/autograd/python_torch_functions_manual.cpp中。在经过一系列参数检测之后,在函数结束之前调用了torch::utils::tensor_ctor函数。
torch::utils::tensor_ctor在文件torch/csrc/utils/tensor_new.cpp中,该文件包含了创建Tensor的一些工具函数。在该函数中调用了internal_new_from_data函数创建Tensor。
recursive_store函数的核心在于
Tensor创建后,我们需要通过函数或方法对其进行操作。Tensor的方法主要通过torch::autograd::variable_methods和extra_methods两个对象初始化。Tensor的函数则是通过initTorchFunctions初始化,调用gatherTorchFunctions来初始化函数,主要分为两种函数:内置函数和自定义函数。