ayooshkathuria / YOLO_v3_tutorial_from_scratch

Accompanying code for Paperspace tutorial series "How to Implement YOLO v3 Object Detector from Scratch"
https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/
2.32k stars 725 forks source link

run with error #23

Open hktxt opened 6 years ago

hktxt commented 6 years ago

totally use your code, does not change any thing. but error comes out.... here is error info C:\Users\Max\Anaconda3\envs\Pytorch\lib\site-packages\torch\nn\modules\upsampling.py:122: UserWarning: nn.Upsampling is deprecated. Use nn.functional.interpolate instead. warnings.warn("nn.Upsampling is deprecated. Use nn.functional.interpolate instead.")

RuntimeError Traceback (most recent call last)

in () 1 model = Darknet("cfg/yolov3.cfg") 2 inp = get_test_input() ----> 3 pred = model(inp, torch.cuda.is_available()) 4 print (pred) ~\Anaconda3\envs\Pytorch\lib\site-packages\torch\nn\modules\module.py in __call__(self, *input, **kwargs) 475 result = self._slow_forward(*input, **kwargs) 476 else: --> 477 result = self.forward(*input, **kwargs) 478 for hook in self._forward_hooks.values(): 479 hook_result = hook(self, input, result) in forward(self, x, CUDA) 216 #Transform 217 x = x.data --> 218 x = predict_transform(x, inp_dim, anchors, num_classes, CUDA) 219 if not write: #if no collector has been intialised. 220 detections = x F:\condaDev\util.ipynb in predict_transform(prediction, inp_dim, anchors, num_classes, CUDA) RuntimeError: invalid argument 2: size '[1 x 255 x 3025]' is invalid for input with 689520 elements at ..\aten\src\TH\THStorage.cpp:84
cumtcsys commented 6 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

ghostPath commented 6 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

but the result I got is different with the blog

wx20181025-231310 2x
ghostPath commented 6 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

I konw why. Thx

allenwu5 commented 6 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

I konw why. Thx

Hi @ghostPath , I got the different result as well. Would you mind to share your insight ?

ghostPath commented 6 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

I konw why. Thx

Hi @ghostPath , I got the different result as well. Would you mind to share your insight ?

我觉得是因为权重是随机初始化的?

allenwu5 commented 6 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

I konw why. Thx

Hi @ghostPath , I got the different result as well. Would you mind to share your insight ?

我觉得是因为权重是随机初始化的?

Thank you @ghostPath . I think you're right. I just found related paragraph:

At this point, our network has random weights, and will not produce the correct output. We need to load a weight file in our network. We'll be making use of the official weight file for this purpose.

pypeaday commented 5 years ago

@ayooshkathuria can you please update the blog and close this issue? The code base and tutorial both have grid_size = inp_dim//stride which leads to the error mentioned in this issue.

feng3245 commented 5 years ago

I have encountered the same problem as you,after changed the third line "grid_size = inp_dim // stride" to "grid_size = prediction.size(2)" in function predict_transform,the problem fixed.

but the result I got is different with the blog

wx20181025-231310 2x

It's just random weights. It's expected to be random and different