In [ ]:
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__)

Phystech@DataScience¶

In [ ]:
# Bot check

# HW_ID: phds_sem11
# Бот проверит этот ID и предупредит, если случайно сдать что-то не то.

# Status: not final
# Перед отправкой в финальном решении удали "not" в строчке выше.
# Так бот проверит, что ты отправляешь финальную версию, а не промежуточную.
# Никакие значения в этой ячейке не влияют на факт сдачи работы.

ЗАДАЧА 1

Пользуясь функциями torch.tensor создайте один тензор, и посчитайте с его помощью сумму чисел от 1 до 100. Затем посчитайте суммы чисел в каждом десятке (от 1 до 10, от 11 до 20 и так далее)

In [ ]:
# ваш код

ЗАДАЧА 2

Нарисуйте по сетке данную кривую на графике, используя torch:

$$x(t) = 2 \cos t + \sin 2t \cos 60t,$$

$$y(t) = \sin 2t + \sin 60t.$$

In [ ]:
# ваш код

Заметим, что библиотека matplotlib справляется с отображением pytorch-тензоров, и дополнительных преобразований делать не нужно.

ЗАДАЧА 3

Возьмите последнюю нейросеть из семинара с простыми примерами, замените функции активации на Sigmoid. Обучите получившуюся модель на тех же данных (значение MSE должно стать меньше 27). Для обучения используйте код из семинара

Как изменились итоговые предсказания? Объясните полученный результат

In [ ]:
# Функция для отрисовки процесса обучения
In [ ]:
# Загрузка датасета
In [ ]:
# Модель
In [ ]:
# Инициализация весов
In [ ]:
# Создание оптимизатора и функции потерь
In [ ]:
# Обучение

Вывод: <...>