栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

taichi debug方式总结

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

taichi debug方式总结

今天听了刘天添老师的课,总结一下taichi debug的方法

1 ti.init的设置(开启debug mode)

进行如下设置

ti.init(arch=ti.cpu, debug=True, excepthook=True, cpu_max_num_threads=1, advanced_optimization=False)

第一个表示用cpu
第二个表示debug mode,意味着开启断言
第三个表示使得报错更加美观
第四个表示单核运行
第五个表示关闭高级的编译优化

如图为更美观的报错
如图为一般的报错

2 print使用方法
  1. taichi不能使用格式化输出(如format等),只能用最基本的print
  2. taichi的变量需要转为numpy数据才能输出

例子
(要import csv)

np.savetxt("out.csv", position.to_numpy(), delimiter=',')

这代表我有一个taichi的field,表示粒子的位置,名为position
把他输出到一个叫out.csv的文件里,用逗号分割,每行换行
用excel就可以打开
如图

3 使用GUI看流场

例如我要看SPH结果的粒子

gui = ti.GUI("SPHDamBreak")
while gui.running: 
    gui.circles(position.to_numpy(),
                radius=1.5,
                )

即可

4 使用断言

例如对一个数x求根号,那么当x输入为负数的时候自动报错。即将x断言为>=0

@ti.kernel
def sqroot(x:ti.f32)->ti.f32:
    assert x>=0
    sq=ti.sqrt(x)
    return sq
        
sqroot(-99.1)

那么我传入了负数,就会如下报错

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343967.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号