Основи 🔥PyTorch

Технології комп’ютерного зору

Автор
Приналежність

Ігор Мірошниченко

КНУ імені Тараса Шевченка

  1. Читання документації

Важливою частиною глибокого навчання (і навчання програмуванню в цілому) є ознайомлення з документацією певного фреймворку, який ви використовуєте. Тому я рекомендую витратити 10 хвилин на прочитання наступного матеріалу (не біда, якщо ви поки що не все зрозумієте, адже головне не повне розуміння, а усвідомлення):

  1. Створіть випадковий тензор з формою (7, 7).
  2. Виконайте множення матриць на тензор з 2 з іншим випадковим тензором з формою (1, 7).
  3. Встановіть випадкове початкове значення на 0 і повторіть кроки 2 і 3.
tensor([[1.8542],
        [1.9611],
        [2.2884],
        [3.0481],
        [1.7067],
        [2.5290],
        [1.7989]]) torch.Size([7, 1])
  1. Говорячи про випадкові генератори, ми бачили, як встановити його за допомогою torch.manual_seed(), але чи існує еквівалент для GPU1?
    • Якщо є, встановіть початкове значення GPU на 1234.
  1. Створіть два випадкові тензори форми (2, 3) і надішліть їх обидва на GPU (для цього вам знадобиться доступ до GPU). При створенні тензорів встановіть torch.manual_seed(1234).
Using device: cuda:0
tensor([[0.0290, 0.4019, 0.2598],
        [0.3666, 0.0583, 0.7006]], device='cuda:0') torch.Size([2, 3])
tensor([[0.0518, 0.4681, 0.6738],
        [0.3315, 0.7837, 0.5631]], device='cuda:0') torch.Size([2, 3])
  1. Виконайте множення матриць на тензори, які ви створили в пункті 6 (знову ж таки, можливо, доведеться скоригувати форми одного з тензорів).
tensor([[0.3647, 0.4709],
        [0.5184, 0.5617]], device='cuda:0') torch.Size([2, 2])
  1. Знайдіть максимальне та мінімальне значення виходу 7.
  2. Знайдіть максимальне та мінімальне значення індексу результату 7.
  3. Створіть випадковий тензор з формою (1, 1, 1, 10), а потім створіть новий тензор, з якого видалені всі розміри 1, щоб залишився тензор з формою (10). При створенні встановіть початкове значення 7 й виведіть на екран перший тензор і його форму, а також другий тензор і його форму.
tensor([[[[0.5349, 0.1988, 0.6592, 0.6569, 0.2328, 0.4251, 0.2071, 0.6297,
           0.3653, 0.8513]]]]) torch.Size([1, 1, 1, 10])
tensor([0.5349, 0.1988, 0.6592, 0.6569, 0.2328, 0.4251, 0.2071, 0.6297, 0.3653,
        0.8513]) torch.Size([10])

Примітки

  1. Підказка: для цього вам потрібно буде заглянути в документацію до torch.cuda↩︎