Skip to content

Commit d612574

Browse files
committed
Update for Pytorch 1.5.0 and CUDA 10.2
1 parent 5e35a2a commit d612574

File tree

3 files changed

+26
-32
lines changed

3 files changed

+26
-32
lines changed

main.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import torch.nn.parallel
88
import torch.backends.cudnn as cudnn
99
import torch.optim
10+
from torch.autograd import Variable
1011
from torch.nn.utils import clip_grad_norm
1112
from torch.utils.data.sampler import SequentialSampler
1213

@@ -170,9 +171,9 @@ def train(train_loader, model, criterion, optimizer, epoch, log):
170171
# measure data loading time
171172
data_time.update(time.time() - end)
172173

173-
target = target.cuda(async=True)
174-
input_var = torch.autograd.Variable(input)
175-
target_var = torch.autograd.Variable(target)
174+
target = target.cuda()
175+
input_var = Variable(input)
176+
target_var = Variable(target)
176177

177178
# compute output
178179
output = model(input_var)
@@ -227,9 +228,10 @@ def validate(val_loader, model, criterion, iter, log):
227228

228229
end = time.time()
229230
for i, (input, target) in enumerate(val_loader):
230-
target = target.cuda(async=True)
231-
input_var = torch.autograd.Variable(input, volatile=True)
232-
target_var = torch.autograd.Variable(target, volatile=True)
231+
target = target.cuda()
232+
with torch.no_grad():
233+
input_var = Variable(input)
234+
target_var = Variable(target)
233235

234236
# compute output
235237
output = model(input_var)

model_zoo

Submodule model_zoo deleted from e31e0b7

models.py

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from transforms import *
55
from torch.nn.init import normal, constant
66

7+
import pretrainedmodels
78
import MLPmodule
89

910
class TSN(nn.Module):
@@ -102,9 +103,13 @@ def _prepare_tsn(self, num_class):
102103

103104
def _prepare_base_model(self, base_model):
104105

105-
if 'resnet' in base_model or 'vgg' in base_model:
106-
self.base_model = getattr(torchvision.models, base_model)(True)
107-
self.base_model.last_layer_name = 'fc'
106+
if 'resnet' in base_model or 'vgg' in base_model or 'squeezenet1_1' in base_model:
107+
self.base_model = pretrainedmodels.__dict__[base_model](num_classes=1000, pretrained='imagenet')
108+
if base_model == 'squeezenet1_1':
109+
self.base_model = self.base_model.features
110+
self.base_model.last_layer_name = '12'
111+
else:
112+
self.base_model.last_layer_name = 'fc'
108113
self.input_size = 224
109114
self.input_mean = [0.485, 0.456, 0.406]
110115
self.input_std = [0.229, 0.224, 0.225]
@@ -116,38 +121,26 @@ def _prepare_base_model(self, base_model):
116121
self.input_mean = [0.485, 0.456, 0.406] + [0] * 3 * self.new_length
117122
self.input_std = self.input_std + [np.mean(self.input_std) * 2] * 3 * self.new_length
118123
elif base_model == 'BNInception':
119-
import model_zoo
120-
self.base_model = getattr(model_zoo, base_model)()
121-
self.base_model.last_layer_name = 'fc'
124+
self.base_model = pretrainedmodels.__dict__['bninception'](num_classes=1000, pretrained='imagenet')
125+
self.base_model.last_layer_name = 'last_linear'
122126
self.input_size = 224
123127
self.input_mean = [104, 117, 128]
124128
self.input_std = [1]
125-
126129
if self.modality == 'Flow':
127130
self.input_mean = [128]
128131
elif self.modality == 'RGBDiff':
129132
self.input_mean = self.input_mean * (1 + self.new_length)
130-
elif self.modality == 'RGBFlow':
131-
self.input_mean = self.input_mean * (self.new_length) # NOTE: Check here if can be modified properly!
132-
elif base_model == 'InceptionV3':
133-
import model_zoo
134-
self.base_model = getattr(model_zoo, base_model)()
135-
self.base_model.last_layer_name = 'top_cls_fc'
136-
self.input_size = 299
137-
self.input_mean = [104,117,128]
138-
self.input_std = [1]
133+
elif 'resnext101' in base_model:
134+
self.base_model = pretrainedmodels.__dict__[base_model](num_classes=1000, pretrained='imagenet')
135+
print(self.base_model)
136+
self.base_model.last_layer_name = 'last_linear'
137+
self.input_size = 224
138+
self.input_mean = [0.485, 0.456, 0.406]
139+
self.input_std = [0.229, 0.224, 0.225]
139140
if self.modality == 'Flow':
140141
self.input_mean = [128]
141142
elif self.modality == 'RGBDiff':
142-
self.input_mean = self.input_mean * (1+self.new_length)
143-
144-
elif 'inception' in base_model:
145-
import model_zoo
146-
self.base_model = getattr(model_zoo, base_model)()
147-
self.base_model.last_layer_name = 'classif'
148-
self.input_size = 299
149-
self.input_mean = [0.5]
150-
self.input_std = [0.5]
143+
self.input_mean = self.input_mean * (1 + self.new_length)
151144
else:
152145
raise ValueError('Unknown base model: {}'.format(base_model))
153146

0 commit comments

Comments
 (0)