在基于paddle学习目标检测算法yolov3的基础上用yolov3训练自己的数据集时,发现paddle有报错:
2021-07-18 17:20:02[TRAIN]epoch 0, iter 8, output loss: [898.1042]
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/PIL/Image.py:2800: DecompressionBombWarning: Image size (168416415 pixels) exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.
DecompressionBombWarning,
2021-07-18 17:20:08[TRAIN]epoch 0, iter 9, output loss: [1166.028]
2021-07-18 17:20:10[TRAIN]epoch 0, iter 10, output loss: [326.97525]
---------------------------------------------------------------------------KeyboardInterrupt Traceback (most recent call last)<ipython-input-67-024cd613b6b1> in <module>
39 MAX_EPOCH = 200
40 for epoch in range(MAX_EPOCH):
---> 41 for i, data in enumerate(train_loader()):
42 img, gt_boxes, gt_labels, img_scale = data
43 gt_scores = np.ones(gt_labels.shape).astype('float32')
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/reader/decorator.py in xreader()
446 finish = 1
447 while finish < process_num:
--> 448 sample = out_queue.get()
449 if isinstance(sample, XmapEndSignal):
450 finish += 1
/opt/conda/envs/python35-paddle120-env/lib/python3.7/queue.py in get(self, block, timeout)
168 elif timeout is None:
169 while not self._qsize():
--> 170 self.not_empty.wait()
171 elif timeout < 0:
172 raise ValueError("'timeout' must be a non-negative number")
/opt/conda/envs/python35-paddle120-env/lib/python3.7/threading.py in wait(self, timeout)
294 try: # restore state no matter what (e.g., KeyboardInterrupt)
295 if timeout is None:
--> 296 waiter.acquire()
297 gotit = True
298 else:
KeyboardInterrupt:
坑有点大,继续改:
---------------------------------------------------------------------------EnforceNotMet Traceback (most recent call last)<ipython-input-162-c16e7c3f4792> in <module>
2 import numpy as np
3 with fluid.dygraph.guard():
----> 4 backbone = DarkNet53_conv_body(is_test=False)
5 x = np.random.randn(1, 3, 640, 640).astype('float32')
6 x = to_variable(x)
<ipython-input-161-76715bce0d06> in __init__(self, is_test)
149 stride=1,
150 padding=1,
--> 151 is_test=is_test)
152
153 # 下采样,使用stride=2的卷积来实现
<ipython-input-161-76715bce0d06> in __init__(self, ch_in, ch_out, filter_size, stride, groups, padding, act, is_test)
33 initializer=fluid.initializer.Normal(0., 0.02)),
34 bias_attr=False,
---> 35 act=None)
36
37 self.batch_norm = BatchNorm(
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/nn.py in __init__(self, num_channels, num_filters, filter_size, stride, padding, dilation, groups, param_attr, bias_attr, use_cudnn, act, dtype)
215 shape=filter_shape,
216 dtype=self._dtype,
--> 217 default_initializer=_get_default_param_initializer())
218
219 self.bias = self.create_parameter(
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in create_parameter(self, shape, attr, dtype, is_bias, default_initializer)
260 temp_attr = None
261 return self._helper.create_parameter(temp_attr, shape, dtype, is_bias,
--> 262 default_initializer)
263
264 # TODO: Add more parameter list when we need them
/opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/layer_helper_base.py in create_parameter(self, attr, shape, dtype, is_bias, default_initializer, stop_gradient, type)
345 type=type,
346 stop_gradient=stop_gradient,
--> 347 **attr._to_kwargs(with_initializer=True))
348 else:
349 self.startup_program.global_block().create_parameter(