1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-jittor

Клонировать/Скачать
CHANGELOG.md 1.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 24.05.2025 06:50 2440e13

Изменения

Версия 1.1.5.5

  • Добавлены операторы numpy code, теперь можно напрямую использовать numpy для создания пользовательских операторов. Пример использования:
import jittor as jt

def forward_code(np, data):
    a = data["inputs"][0]
    b = data["outputs"][0]
    np.add(a, a, out=b)

def backward_code(np, data):
    dout = data["dout"]
    out = data["outputs"][0]
    np.copyto(out, dout * 2.0)

a = jt.random((5, 1))
b = jt.numpy_code(
    a.shape,
    a.dtype,
    [a],
    forward_code,
    [backward_code],
)
  • Добавлен модуль Function, который позволяет пользователям определять собственные операции обратного распространения. Пример использования:
import jittor as jt
from jittor import Function

class MyFunc(Function):
    def execute(self, x, y):
        self.x = x
        self.y = y
        return x * y, x / y

    def grad(self, grad0, grad1):
        return grad0 * self.y, grad1 * self.x

a = jt.array(3.0)
b = jt.array(4.0)
func = MyFunc()
c, d = func(a, b)
da, db = jt.grad(c + d * 3, [a, b])
assert da.data == 4
assert db.data == 9
  • Добавлен контекст no_grad, в котором созданные переменные не будут иметь градиентов:
import jittor as jt

with jt.no_grad():
    ...
  • Добавлена поддержка bmm (batch matrix multiply):
import jittor as jt
from jittor import nn

batch, n, m, k = 100, 5, 6, 7

a = jt.random((batch, n, m))
b = jt.random((batch, m, k))
c = nn.bmm(a, b)
  • Исправлена ошибка unsqueeze

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-jittor.git
git@api.gitlife.ru:oschina-mirror/mirrors-jittor.git
oschina-mirror
mirrors-jittor
mirrors-jittor
master