updates
This commit is contained in:
parent
a34a760d0f
commit
112f061f4e
|
@ -11,7 +11,7 @@ sudo reboot now
|
||||||
# Re-clone
|
# Re-clone
|
||||||
sudo rm -rf yolov3
|
sudo rm -rf yolov3
|
||||||
# git clone https://github.com/ultralytics/yolov3 # master
|
# git clone https://github.com/ultralytics/yolov3 # master
|
||||||
git clone -b map_update --depth 1 https://github.com/ultralytics/yolov3 yolov3 # branch
|
git clone -b test --depth 1 https://github.com/ultralytics/yolov3 yolov3_test # branch
|
||||||
cp -r weights yolov3
|
cp -r weights yolov3
|
||||||
cp -r cocoapi/PythonAPI/pycocotools yolov3
|
cp -r cocoapi/PythonAPI/pycocotools yolov3
|
||||||
cd yolov3
|
cd yolov3
|
||||||
|
|
|
@ -3,6 +3,7 @@ import random
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
|
|
||||||
import cv2
|
import cv2
|
||||||
|
import matplotlib
|
||||||
import matplotlib.pyplot as plt
|
import matplotlib.pyplot as plt
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import torch
|
import torch
|
||||||
|
@ -10,6 +11,8 @@ import torch.nn as nn
|
||||||
|
|
||||||
from utils import torch_utils
|
from utils import torch_utils
|
||||||
|
|
||||||
|
matplotlib.rc('font', **{'family': 'normal', 'size': 11})
|
||||||
|
|
||||||
# Set printoptions
|
# Set printoptions
|
||||||
torch.set_printoptions(linewidth=1320, precision=5, profile='long')
|
torch.set_printoptions(linewidth=1320, precision=5, profile='long')
|
||||||
np.set_printoptions(linewidth=320, formatter={'float_kind': '{:11.5g}'.format}) # format short g, %precision=5
|
np.set_printoptions(linewidth=320, formatter={'float_kind': '{:11.5g}'.format}) # format short g, %precision=5
|
||||||
|
@ -286,8 +289,8 @@ def compute_loss(p, targets): # predictions, targets
|
||||||
# Add to dictionary
|
# Add to dictionary
|
||||||
d = defaultdict(float)
|
d = defaultdict(float)
|
||||||
losses = [loss.item(), lxy.item(), lwh.item(), lconf.item(), lcls.item()]
|
losses = [loss.item(), lxy.item(), lwh.item(), lconf.item(), lcls.item()]
|
||||||
for name, x in zip(['total', 'xy', 'wh', 'conf', 'cls'], losses):
|
for k, v in zip(['total', 'xy', 'wh', 'conf', 'cls'], losses):
|
||||||
d[name] = x
|
d[k] = v
|
||||||
|
|
||||||
return loss, d
|
return loss, d
|
||||||
|
|
||||||
|
@ -325,7 +328,7 @@ def build_targets(model, targets):
|
||||||
|
|
||||||
# Width and height
|
# Width and height
|
||||||
twh.append(torch.log(gwh / layer.anchor_vec[a])) # yolo method
|
twh.append(torch.log(gwh / layer.anchor_vec[a])) # yolo method
|
||||||
# twh.append(torch.sqrt(gwh / layer.anchor_vec[a]) / 2) # power method
|
# twh.append((gwh / layer.anchor_vec[a]) ** (1 / 3) / 2) # power method
|
||||||
|
|
||||||
# Class
|
# Class
|
||||||
tcls.append(c)
|
tcls.append(c)
|
||||||
|
@ -468,7 +471,7 @@ def plot_wh_methods(): # from utils.utils import *; plot_wh_methods()
|
||||||
# https://github.com/ultralytics/yolov3/issues/168
|
# https://github.com/ultralytics/yolov3/issues/168
|
||||||
x = np.arange(-4.0, 4.0, .1)
|
x = np.arange(-4.0, 4.0, .1)
|
||||||
ya = np.exp(x)
|
ya = np.exp(x)
|
||||||
yb = (torch.sigmoid(torch.from_numpy(x)).numpy() * 2)
|
yb = torch.sigmoid(torch.from_numpy(x)).numpy() * 2
|
||||||
|
|
||||||
fig = plt.figure(figsize=(6, 3), dpi=150)
|
fig = plt.figure(figsize=(6, 3), dpi=150)
|
||||||
plt.plot(x, ya, '.-', label='yolo method')
|
plt.plot(x, ya, '.-', label='yolo method')
|
||||||
|
@ -495,7 +498,7 @@ def plot_results(start=0, stop=0): # from utils.utils import *; plot_results()
|
||||||
x = range(start, stop if stop else results.shape[1])
|
x = range(start, stop if stop else results.shape[1])
|
||||||
for i in range(10):
|
for i in range(10):
|
||||||
plt.subplot(2, 5, i + 1)
|
plt.subplot(2, 5, i + 1)
|
||||||
plt.plot(x, results[i, x], marker='.', label=f)
|
plt.plot(x, results[i, x].clip(max=500), marker='.', label=f)
|
||||||
plt.title(s[i])
|
plt.title(s[i])
|
||||||
if i == 0:
|
if i == 0:
|
||||||
plt.legend()
|
plt.legend()
|
||||||
|
|
Loading…
Reference in New Issue