未验证 提交 15575db2 编写于 作者: J Jintao Lin 提交者: GitHub

Use `collect_env` from mmcv (#149)

上级 e925107e
......@@ -7,7 +7,7 @@
- PyTorch 1.3+
- CUDA 9.2+ (If you build PyTorch from source, CUDA 9.0 is also compatible)
- GCC 5+
- [mmcv](https://github.com/open-mmlab/mmcv) 0.5.7+
- [mmcv](https://github.com/open-mmlab/mmcv) 1.1.1+
- Numpy
- ffmpeg (4.2 is preferred)
- [decord](https://github.com/dmlc/decord) (optional): Install CPU version by `pip install decord` and install GPU version from source
......
import os.path as osp
import subprocess
import sys
from collections import defaultdict
import cv2
import mmcv
import torch
import torchvision
from mmcv.utils import CUDA_HOME, get_build_config
from mmcv.utils import collect_env as collect_basic_env
import mmaction
def collect_env():
"""Collect environment variables."""
env_info = {}
env_info['sys.platform'] = sys.platform
env_info['Python'] = sys.version.replace('\n', '')
cuda_available = torch.cuda.is_available()
env_info['CUDA available'] = cuda_available
if cuda_available:
env_info['CUDA_HOME'] = CUDA_HOME
if CUDA_HOME is not None and osp.isdir(CUDA_HOME):
try:
nvcc = osp.join(CUDA_HOME, 'bin/nvcc')
nvcc = subprocess.check_output(
'"{}" -V | tail -n1'.format(nvcc), shell=True)
nvcc = nvcc.decode('utf-8').strip()
except subprocess.SubprocessError:
nvcc = 'Not Available'
env_info['NVCC'] = nvcc
devices = defaultdict(list)
for k in range(torch.cuda.device_count()):
devices[torch.cuda.get_device_name(k)].append(str(k))
for name, devids in devices.items():
env_info['GPU ' + ','.join(devids)] = name
gcc = subprocess.check_output('gcc --version | head -n1', shell=True)
gcc = gcc.decode('utf-8').strip()
env_info['GCC'] = gcc
env_info['PyTorch'] = torch.__version__
env_info['PyTorch compiling details'] = get_build_config()
env_info['TorchVision'] = torchvision.__version__
env_info['OpenCV'] = cv2.__version__
env_info['MMCV'] = mmcv.__version__
env_info = collect_basic_env()
env_info['MMAction2'] = mmaction.__version__
return env_info
......
matplotlib
mmcv
mmcv>=1.1.1
numpy
opencv-contrib-python
Pillow
......@@ -19,6 +19,6 @@ line_length = 79
multi_line_output = 0
known_standard_library = pkg_resources,setuptools
known_first_party = mmaction
known_third_party = cv2,joblib,matplotlib,mmcv,numpy,pandas,pytest,scipy,seaborn,torch,torchvision
known_third_party = cv2,joblib,matplotlib,mmcv,numpy,pandas,pytest,scipy,seaborn,torch
no_lines_before = STDLIB,LOCALFOLDER
default_section = THIRDPARTY
import os.path as osp
import subprocess
import sys
from collections import defaultdict
import cv2
import mmcv
import torch
import torchvision
from mmcv.utils import CUDA_HOME, get_build_config
import mmaction
from mmaction.utils import collect_env
def test_collect_env():
env_info = collect_env()
target_keys = [
'sys.platform', 'Python', 'CUDA available', 'GCC', 'PyTorch',
'PyTorch compiling details', 'TorchVision', 'OpenCV', 'MMCV',
'MMAction2'
]
cuda_available = torch.cuda.is_available()
if cuda_available:
cuda_keys = ['CUDA_HOME', 'NVCC']
devices = defaultdict(list)
devices_dict = dict()
for k in range(torch.cuda.device_count()):
devices[torch.cuda.get_device_name(k)].append(str(k))
for name, devids in devices.items():
devices_dict['GPU ' + ','.join(devids)] = name
cuda_keys.append('GPU ' + ','.join(devids))
target_keys.extend(cuda_keys)
assert set(env_info.keys()) == set(target_keys)
assert env_info['sys.platform'] == sys.platform
assert env_info['Python'] == sys.version.replace('\n', '')
assert env_info['CUDA available'] == cuda_available
if cuda_available:
assert env_info['CUDA_HOME'] == CUDA_HOME
if CUDA_HOME is not None and osp.isdir(CUDA_HOME):
try:
nvcc = osp.join(CUDA_HOME, 'bin/nvcc')
nvcc = subprocess.check_output(
'"{}" -V | tail -n1'.format(nvcc), shell=True)
nvcc = nvcc.decode('utf-8').strip()
except subprocess.SubprocessError:
nvcc = 'Not Available'
assert env_info['NVCC'] == nvcc
for k, v in devices_dict.items():
assert env_info[k] == v
gcc = subprocess.check_output('gcc --version | head -n1', shell=True)
gcc = gcc.decode('utf-8').strip()
assert env_info['GCC'] == gcc
assert env_info['PyTorch'] == torch.__version__
assert env_info['PyTorch compiling details'] == get_build_config()
assert env_info['TorchVision'] == torchvision.__version__
assert env_info['OpenCV'] == cv2.__version__
assert env_info['MMCV'] == mmcv.__version__
assert env_info['MMAction2'] == mmaction.__version__
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册