The code that i run:
python train.py --batch_size 5 --visdom True
The error:
Loading base network...
Initializing weights...
Loading the dataset...
Training SSD on: VOC0712
Using the specified args:
Namespace(basenet='vgg16_reducedfc.pth', batch_size=5, cuda=True, dataset='VOC', dataset_root='/home/alireza/data/VOCdevkit/', gamma=0.1, lr=0.001, momentum=0.9, num_workers=4, resume=None, save_folder='weights/', start_iter=0, visdom=True, weight_decay=0.0005)
Traceback (most recent call last):
File "train.py", line 260, in <module>
train()
File "train.py", line 147, in train
iter_plot = create_vis_plot('Iteration', 'Loss', vis_title, vis_legend)
File "train.py", line 229, in create_vis_plot
return viz.line(
NameError: name 'viz' is not defined
You can just define a global 'viz' yourself. It works for me.
...
import visdom
...
viz = visdom.Visdom()
def train():
...
I have added global viz after import visdom
if args.visdom:
import visdom
global viz
viz = visdom.Visdom()
You can just define a global 'viz' yourself. It works for me.
...
import visdom
...
viz = visdom.Visdom()def train():
..
Hello when I do that I met another problem:
Traceback (most recent call last):
File "train.py", line 267, in
train()
File "train.py", line 148, in train
iter_plot = create_vis_plot('Iteration', 'Loss', vis_title, vis_legend)
File "train.py", line 243, in create_vis_plot
legend=_legend
File "/home/image/anaconda3/envs/torch0.3/lib/python3.5/site-packages/visdom/__init__.py", line 288, in wrapped_f
return f(args, *kwargs)
File "/home/image/anaconda3/envs/torch0.3/lib/python3.5/site-packages/visdom/__init__.py", line 1171, in line
assert Y.ndim == 1 or Y.ndim == 2, 'Y should have 1 or 2 dim'
AttributeError: 'torch.FloatTensor' object has no attribute 'ndim'
how can I solve it?
thank you
@ankitksharma It worked for me, yes.
But, @amdegroot i think it is not the correct solution.
Most helpful comment
I have added
global vizafterimport visdom