Grid indices overflow bug fix (#1313)

This commit is contained in:
Glenn Jocher authored and GitHub committed 2020-11-06 13:40:11 +01:00
1 parent bd5cfff8fb
commit fed5d9cdfb
1 file changed
+4 -3
+4 -3
View File
@@ -1,5 +1,6 @@
import glob import glob
import logging import logging
import math
import os import os
import platform import platform
import random import random
@@ -12,7 +13,6 @@ from copy import copy
from pathlib import Path from pathlib import Path
import cv2 import cv2
import math
import matplotlib import matplotlib
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
import numpy as np import numpy as np
@@ -589,7 +589,7 @@ def build_targets(p, targets, model):
# Append # Append
a = t[:, 6].long() # anchor indices a = t[:, 6].long() # anchor indices
indices.append((b, a, gj, gi)) # image, anchor, grid indices indices.append((b, a, gj.clamp_(0, gain[3]), gi.clamp_(0, gain[2]))) # image, anchor, grid indices
tbox.append(torch.cat((gxy - gij, gwh), 1)) # box tbox.append(torch.cat((gxy - gij, gwh), 1)) # box
anch.append(anchors[a]) # anchors anch.append(anchors[a]) # anchors
tcls.append(c) # class tcls.append(c) # class
@@ -1096,7 +1096,8 @@ def plot_images(images, targets, paths=None, fname='images.jpg', names=None, max
cv2.rectangle(mosaic, (block_x, block_y), (block_x + w, block_y + h), (255, 255, 255), thickness=3) cv2.rectangle(mosaic, (block_x, block_y), (block_x + w, block_y + h), (255, 255, 255), thickness=3)
if fname is not None: if fname is not None:
mosaic = cv2.resize(mosaic, (int(ns * w * 0.5), int(ns * h * 0.5)), interpolation=cv2.INTER_AREA) r = min(1280. / max(h, w) / ns, 1.0) # ratio to limit image size
mosaic = cv2.resize(mosaic, (int(ns * w * r), int(ns * h * r)), interpolation=cv2.INTER_AREA)
# cv2.imwrite(fname, cv2.cvtColor(mosaic, cv2.COLOR_BGR2RGB)) # cv2 save # cv2.imwrite(fname, cv2.cvtColor(mosaic, cv2.COLOR_BGR2RGB)) # cv2 save
Image.fromarray(mosaic).save(fname) # PIL save Image.fromarray(mosaic).save(fname) # PIL save
return mosaic return mosaic