I hereby claim:
- I am pbnsilva on github.
- I am pbnsilva (https://keybase.io/pbnsilva) on keybase.
- I have a public key whose fingerprint is 88AA DC61 1A86 0938 E6B0 4024 2196 9819 5B83 83A5
To claim this, I am signing this object:
net = Net() | |
net.to(device) | |
criterion = nn.CrossEntropyLoss() | |
optimizer = optim.Adam(net.parameters(), lr=0.001) | |
train_loss, val_loss = [], [] | |
train_acc, val_acc = [], [] | |
for epoch in range(500): | |
train_running_loss = 0.0 |
class Net(nn.Module): | |
def __init__(self): | |
super(Net, self).__init__() | |
filters_start = 32 | |
layer_filters = filters_start | |
filters_growth = 32 | |
strides_start = 1 | |
strides_end = 2 | |
depth = 4 | |
n_blocks = 6 |
class Conv2dBlock(nn.Module): | |
def __init__(self, depth, layer_filters, filters_growth, | |
strides_start, strides_end, input_shape, first_layer=False): | |
super(Conv2dBlock, self).__init__() | |
layers = [] | |
c_in_channels = layer_filters | |
for i in range(depth): | |
if first_layer: | |
layers.append(nn.Conv2d(in_channels=1, | |
kernel_size=3, |
batch_size = 32 | |
dataset = PhysioNetDataset(ref_file='training2017/REFERENCE.csv', data_dir='training2017') | |
train_size = int(0.7*len(dataset)) | |
train_set, val_set = random_split(dataset, [train_size, len(dataset)-train_size]) | |
train_loader = DataLoader(train_set, batch_size=batch_size, shuffle=True, num_workers=4) | |
val_loader = DataLoader(val_set, batch_size=batch_size, shuffle=True, num_workers=4) |
import os | |
import pandas as pd | |
from torch.utils.data import Dataset | |
class PhysioNetDataset(Dataset): | |
def __init__(self, ref_file, data_dir): | |
self.ref_file = ref_file | |
self.data_dir = data_dir | |
self.ref_frame = pd.read_csv(ref_file, names=['mat', 'label']) |
from scipy import signal | |
def spectrogram(data, fs=300, nperseg=64, noverlap=32): | |
f, t, Sxx = signal.spectrogram(data, fs=fs, nperseg=nperseg, noverlap=noverlap) | |
Sxx = np.transpose(Sxx, [0, 2, 1]) | |
Sxx = np.abs(Sxx) | |
mask = Sxx > 0 | |
Sxx[mask] = np.log(Sxx[mask]) | |
return f, t, Sxx |
def zero_pad(data, length): | |
extended = np.zeros(length) | |
siglength = np.min([length, data.shape[0]]) | |
extended[:siglength] = data[:siglength] | |
return extended | |
# plot a sample | |
data = sio.loadmat('training2017/A00001.mat')['val'][0] | |
# 61 seconds is the maximum length in our dataset |
import numpy as np | |
import scipy.io as sio | |
import matplotlib.pyplot as plt | |
# plot 10 seconds | |
secs = 10 | |
# maximum length of ECG recording is 61 seconds | |
max_length = 61 |
I hereby claim:
To claim this, I am signing this object:
package main | |
import ( | |
"fmt" | |
"math" | |
"math/rand" | |
"github.com/skelterjohn/go.matrix" | |
) |