Skip to main content

Введение

Типы обучения:

  • С учителем: есть данные и метки.
  • Без учителя: есть данные и ожидаемое количество меток. Проводится классификация, затем говорится: это то, это= это.
  • Трансферное обучение: используем некую уже обученную модель и дообучаем ее.
  • Обучение с подкреплением: среда, агент и награда за корректный ответ.

Тензоры

scalar = torch.tensor(7)     # создание тензора
scalar.ndim                  # размерность 0 это один на один
scalar.item()                # элементы тензора
tns = torch.rand(3, 4)       # слчайный тензор
zero_tns = torch.zeros(3, 4) # тензор из нолей
one_tns = torch.ones(3, 4)   # тензор из единиц
one_tns.dtype                # тип данных в тензоре float32,  
one_to_thirtyone = torch.arange(start=1, end=43, step=15) # tensor([ 1, 16, 31])
three_zeros_like = torch.zeros_like(input=one_to_thirtyone) # тензор похожий на шаблонный но все нули

dtype определяет тип данных. По умолчанию float32

one_to_ten = torch.tensor([3.0, 6.0, 9.0], dtype=torch.float16)
print(one_to_ten.dtype)
float_16_tensor = float_32_tensor.type(torch.float16) # преобразование типов данных

 

device определяет устройство. По умолчанию cpu. Может быть cuda. Если тензоры на разных устройствах - будет ошибка. 

requires_grad=False - расчет градиентов.

3 частые ошибки при работе с тензорами:

  • неправильный тип данных
  • неправильная форма
  • тензоры при операции на разных  устройствах 

Операции с тензорами

Скалярные сложение, разность, умножение, деление тензора на число - как в python.

Векторное умножение torch.matmul(tenz, tenz) 

Тренды библиотек ИИ

https://www.learnpytorch.io

https://colab.research.google.com/

Библиотека машинного обучения. Можно запускать предобученные модели. Например для компьютерного зрения: 

from torchvision import models

print(dir(models))

Названия в верхнем регистре - классы, реализующие популярные архитектуры. В нижнем - экземпляры сетей с определенным количеством слоев, нейронов, возможно с весами, т е объекты.