
【微博|类似Python的太极图形编程语言和别语言不太一样的ti.field】在太极编程代码中 , 我们经常会看到诸如x = ti.var(ti.i32 shape=4) , a = ti.Vector([3 4
) , a = ti.Matrix.var(3 3 dt=ti.f32 shape=(5 4)) , pixels = ti.field(dtype=float shape=(n * 2 n))这类的代码 , 其中ti.field就是域 。
作为特定领域编程语言 , 太极(taichi)编程语言还是和其他的编程语言不太一样的 。 比如这次学习的ti.field概念 。 这在太极语言中很重要也很别具一格 。 机智客看视频分享中 , 据说其创始人也很喜欢这个 , 因为这个名字其实挺妙的 , 既可以翻译成是一个域 , 也可以翻译为是一个场 。 可谓一语双关 。
那么ti.field是什么 , 其实它是一个N维的包含各种元素的全局元素张量 。 当然这里的N并不一定是指代多维 , 也可以是指代0或1 。 也就是说 , 不同的N代表着不同的意思 。 比如当N=0的时候 , 那么它是标量 。 如果N=1的话 , 那么它就是矢量 。 而如果N=2的话 , 那么这就是一个矩阵 。 当然了 , N还可以等于3 , 4 , 5等 。
而根据文档显示 , 太极官方定义的是 , 在Taichi中 , 张量是全局变量 。 张量分为稀疏张量和密集张量 。 张量的元素可以是标量 , 也可以是矩阵 。 根据官方文档的说明 , 虽然数学上矩阵被视为2D张量 , 但在Taichi中 ,张量 和 矩阵 是两个完全不同的概念 。矩阵可以用作张量元素 , 因此你可以使每个元素都是矩阵的张量 。
所以作为一个全局元素 , ti.field其实比较灵活 , 也就是在初始化后 , 代码开头把它定义了 , 它就既能在Taichi里被调用也可以在Python脚本语言里被调用 。 而回到文章开头那句代码pixels = ti.field(dtype=float shape=(n * 2 n))则表示一个形状是n*2n类型是浮点的张量 。
- 微博|“陌陌一哥”被罚1.08亿背后,陌陌直播收入下滑,撕不下灰色标签
- 前不久|罗永浩退出微信、微博、抖音三个国内最大的社交平台
- Python|十年质保、3400MB/S!279元买512GB NVMe高速固态硬盘
- 格力电器|不要再说Python难了,按照这个学习路线,四周速成Python
- Python|华为再造新车!问界M7揭下外企的遮羞布,余承东:超越百万豪车
- Python|OPPO A96可以升级ColorOS 12了,我看谁还说入门机只管生不管养?
- 在恐龙之后,为什么地球上再也没能孕育出类似的巨型动物?
- 为什么地球上再没有出现过类似恐龙那么大的动物?
- Python|什么是二级分销模式?分销商城小程序开发源码解析
- Python|iPhone手机哪里买比较靠谱?记住这五个渠道可避免上当受骗
