【微博|类似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类型是浮点的张量 。
- Python|99元换新120W氮化镓遭爆抢!iQOO网页后台都崩了
- Python|2022年空调业三雄争霸, 战火在线上线下全面点燃
- iPhone SE 3最新渲染图曝光,外观类似iPhone XR
- 来源:楚天交通广播、微博、中新经纬版权归原作者所有|热搜第一,微信上线新功能!
- 祖安文化|微博:集中清理以“祖安文化”为代表诱导未成年人不良行为的内容
- Python|大厂高薪惯坏了年轻人?为啥大厂的年轻人越来越被公司要不起?
- Python|就差不能对着电脑生孩子了,Python的PyAutoGUI让你连鼠键都敢省了
- 艺术设计|女子拍艺术照被造谣“张爱玲奶奶” 网友吐槽行为低劣:微博CEO都表示费解
- Python|镰刀发布Big Shuriken 3 Rev B散热器,采用新款散热风扇
- 无障碍模式|微博网页版上线无障碍模式:支持语音朗读、大字幕等功能