Create date_modified() ()

Updated device selection string with fallback for non-git directories.
```python
def select_device(device='', batch_size=None):
    # device = 'cpu' or '0' or '0,1,2,3'
    s = f'YOLOv5 🚀 {git_describe() or date_modified()} torch {torch.__version__} '  # string
...
```
pull/2617/head
Glenn Jocher 2021-03-26 12:52:47 +01:00 committed by GitHub
parent 196bf10603
commit 0ff5aeca61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 4 deletions

View File

@ -1,4 +1,6 @@
# PyTorch utils
# YOLOv5 PyTorch utils
import datetime
import logging
import math
import os
@ -43,9 +45,15 @@ def init_torch_seeds(seed=0):
cudnn.benchmark, cudnn.deterministic = True, False
def git_describe():
def date_modified(path=__file__):
# return human-readable file modification date, i.e. '2021-3-26'
t = datetime.datetime.fromtimestamp(Path(path).stat().st_mtime)
return f'{t.year}-{t.month}-{t.day}'
def git_describe(path=Path(__file__).parent): # path must be a directory
# return human-readable git description, i.e. v5.0-5-g3e25f1e https://git-scm.com/docs/git-describe
s = f'git -C {Path(__file__).resolve().parent} describe --tags --long --always'
s = f'git -C {path} describe --tags --long --always'
try:
return subprocess.check_output(s, shell=True).decode()[:-1]
except subprocess.CalledProcessError as e:
@ -54,7 +62,7 @@ def git_describe():
def select_device(device='', batch_size=None):
# device = 'cpu' or '0' or '0,1,2,3'
s = f'YOLOv5 🚀 {git_describe()} torch {torch.__version__} ' # string
s = f'YOLOv5 🚀 {git_describe() or date_modified()} torch {torch.__version__} ' # string
cpu = device.lower() == 'cpu'
if cpu:
os.environ['CUDA_VISIBLE_DEVICES'] = '-1' # force torch.cuda.is_available() = False