import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from IPython.display import clear_output
sns.set(palette="Set2")
import torch
from torch import nn
print(torch.__version__)
# Bot check
# HW_ID: phds_sem11
# Бот проверит этот ID и предупредит, если случайно сдать что-то не то.
# Status: not final
# Перед отправкой в финальном решении удали "not" в строчке выше.
# Так бот проверит, что ты отправляешь финальную версию, а не промежуточную.
# Никакие значения в этой ячейке не влияют на факт сдачи работы.
ЗАДАЧА 1
Пользуясь функциями torch.tensor
создайте один тензор, и посчитайте с его помощью сумму чисел от 1 до 100. Затем посчитайте суммы чисел в каждом десятке (от 1 до 10, от 11 до 20 и так далее)
# ваш код
ЗАДАЧА 2
Нарисуйте по сетке данную кривую на графике, используя torch
:
$$x(t) = 2 \cos t + \sin 2t \cos 60t,$$
$$y(t) = \sin 2t + \sin 60t.$$
# ваш код
Заметим, что библиотека matplotlib
справляется с отображением pytorch
-тензоров, и дополнительных преобразований делать не нужно.
ЗАДАЧА 3
Возьмите последнюю нейросеть из семинара с простыми примерами, замените функции активации на Sigmoid. Обучите получившуюся модель на тех же данных (значение MSE должно стать меньше 27). Для обучения используйте код из семинара
Как изменились итоговые предсказания? Объясните полученный результат
# Функция для отрисовки процесса обучения
# Загрузка датасета
# Модель
# Инициализация весов
# Создание оптимизатора и функции потерь
# Обучение
Вывод: <...>