Пример #1
0
from common_dl import set_random_seeds
from common_dsp import *
from gesture.models.d2l_resnet import d2lresnet
from myskorch import on_epoch_begin_callback, on_batch_end_callback
from ecog_finger.config import *
from ecog_finger.preprocess.chn_settings import get_channel_setting

os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

try:
    mne.set_config('MNE_LOGGING_LEVEL', 'ERROR')
except TypeError as err:
    print(err)

seed = 20200220  # random seed to make results reproducible
set_random_seeds(seed=seed)

import inspect as i
import sys
#sys.stdout.write(i.getsource(deepnet))

sid = 2
fs = 1000
use_active_only = False
if use_active_only:
    active_chn = get_channel_setting(sid)
else:
    active_chn = 'all'

filename = data_dir + 'fingerflex/data/' + str(sid) + '/' + str(
    sid) + '_fingerflex.mat'
                          shuffle=True,
                          pin_memory=False)
val_loader = DataLoader(dataset=val_ds,
                        batch_size=batch_size,
                        pin_memory=False)
#test it
#(x,y)=iter(train_loader).next() # x: torch.Size([1, 10, 148, 250]); y: torch.Size([1])

X_test.shape

len(val_loader) * 4

cuda = torch.cuda.is_available()
device = 'cuda' if cuda else 'cpu'
seed = 20200220
set_random_seeds(seed=seed)  # same as braindecode random seeding

net = my_resnet18(chn_num, 5, pretrained=False, logsoftmax=False).float()

if cuda:
    net.cuda()
#x= torch.randn(1, 10, 148, 250)
#net(x).shape

lr = 0.0001
weight_decay = 1e-10
batch_size = 4
epoch_num = 500

#criterion=torch.nn.NLLLoss()
#optimizer = torch.optim.Adam(net.parameters(), lr=lr)