要使用jittor训练模型,您需要了解两个主要概念:

    • Var:Jittor的基本数据类型
    • Operations:Jittor的算子与numpy类似

    首先,让我们开始使用Var。Var是jittor的基本数据类型,为了运算更加高效Jittor中的计算过程是异步的。 如果要访问数据,可以使用Var.data进行同步数据访问。

    1. import jittor as jt
    2. a = jt.float32([1,2,3])
    3. print (a)
    4. print (a.data)
    5. # Output: float32[3,]
    6. # Output: [ 1. 2. 3.]

    Jittor的算子与numpy类似。 让我们尝试一些操作, 我们通过操作jt.float32创建Var ab,并将它们相加。 输出这些变量相关信息,可以看出它们具有相同的形状和类型。

    1. import jittor as jt
    2. a = jt.float32([1,2,3])
    3. b = jt.float32([4,5,6])
    4. c = a+b
    5. print(a,b,c)

    除此之外,我们使用的所有算子jt.xxx(Var,…)都具有别名Var.xxx(…)。 例如:

    1. c.max() # alias of jt.max(a)
    2. c.add(a) # alias of jt.add(c, a)
    3. c.min(keepdims=True) # alias of jt.min(c, keepdims=True)

    如果您想知道Jittor支持的所有操作,可以运行help(jt.ops)。 您在jt.ops.xxx中找到的所有操作都可以通过别名jt.xxx

    1. help(jt.ops)