Home PyTorch로 하는 Radio Signals 분류
Post
Cancel

PyTorch로 하는 Radio Signals 분류

개요

  • 이번 테스크에서는 Sepectrogram이 무엇인지 알 수 있다.
  • Sepectrogram의 이미지가 입력값으로 주어진다. 오디오가 있을 때마다 파일 또는 오디오 신호를 Sepectrogram을 사용하여 나타낸다.
  • 이론적인 부분에서, Covolutional Neural Network의 작동과 Covolutional Neural Network가 무엇인지 분명히 한다.
  • Optimization이 어떻게 작동하는지, Gradient decent나 adam과 같은 최적화 유형을 알아야 한다.
  • Python 프로그래밍과 PyTorch의 기본기가 명확해야 한다.

Imports

1
!pip install timm

Installing collected packages: huggingface-hub, timm
Successfully installed huggingface-hub-0.12.1 timm-0.6.12

1
2
3
4
5
6
7
8
9
10
11
import numpy as np 
import pandas as pd 
import matplotlib.pyplot as plt 

import torch 
from torch import nn, optim 
from torch.utils.data import Dataset, DataLoader 

from torchvision import transforms as T

import timm

Configurations

1
2
3
4
5
6
7
8
9
10
 TRAIN_CSV = 'train.csv'
 VALID_CSV = 'valid.csv'

 BATCH_SIZE = 128
 DEVICE = 'cuda'

 MODEL_NAME = 'efficientnet_b0'

 LR = 0.001
 EPOCHS = 15
  • 각 컬럼은 스펙트로그램 이미지의 각 픽셀 값을 나타낸다.
  • 스펙트로그램 이미지를 1차원 벡터로 convert 할 것이다.
1
2
3
4
df_train = pd.read_csv(TRAIN_CSV)
df_valid = pd.read_csv(VALID_CSV)

df_train.head()
0123456789...818381848185818681878188818981908191labels
00.6313730.6235290.7137260.7058820.6588240.6666670.6549020.6352940.6470590.705882...0.6117650.6509800.6588240.6000000.6039220.6549020.6941180.6588240.666667Squiggle
10.7254900.7529410.7490200.7019610.6901960.7215690.7098040.7450980.6549020.721569...0.6980390.7215690.6862750.7137260.6823530.6901960.6980390.7019610.725490Squiggle
20.7176470.7019610.7137260.7333330.7058820.7176470.7254900.6823530.7176470.674510...0.6941180.7058820.6823530.6392160.7137260.6705880.6784310.7372550.674510Squiggle
30.7058820.6745100.6549020.6784310.6666670.6627450.6784310.6627450.6862750.686275...0.6627450.6313730.6431370.7058820.6627450.7058820.6666670.6549020.631373Squiggle
40.6470590.7294120.7019610.6745100.6117650.6980390.7137260.6627450.7019610.674510...0.6705880.7058820.6745100.7215690.6941180.6745100.7058820.7490200.729412Squiggle

5 rows × 8193 columns

This post is licensed under CC BY 4.0 by the author.