diff options
author | Jordan Gong <jordan.gong@protonmail.com> | 2021-02-19 22:45:29 +0800 |
---|---|---|
committer | Jordan Gong <jordan.gong@protonmail.com> | 2021-02-19 22:45:29 +0800 |
commit | d098956ab767464909b606afa6a5f39f756d90a6 (patch) | |
tree | 33617f30b1b453f841f0841b68a2d5e3b0e1dbdb | |
parent | 4049566103a00aa6d5a0b1f73569bdc5435714ca (diff) | |
parent | c6bff0a8350da4f4d42b6d17052c8fae37633237 (diff) |
Merge branch 'python3.7' into disentangling_only_py3.7disentangling_only_py3.7
# Conflicts:
# models/model.py
# utils/configuration.py
-rw-r--r-- | config.py | 4 | ||||
-rw-r--r-- | models/model.py | 31 | ||||
-rw-r--r-- | startup | 2 | ||||
-rw-r--r-- | utils/configuration.py | 70 | ||||
-rw-r--r-- | utils/misc.py | 5 |
5 files changed, 18 insertions, 94 deletions
@@ -1,6 +1,4 @@ -from utils.configuration import Configuration - -config: Configuration = { +config = { 'system': { # Disable accelerator 'disable_acc': False, diff --git a/models/model.py b/models/model.py index c8f0450..ae21a1b 100644 --- a/models/model.py +++ b/models/model.py @@ -12,9 +12,6 @@ from torch.utils.tensorboard import SummaryWriter from tqdm import tqdm from models.rgb_part_net import RGBPartNet -from utils.configuration import DataloaderConfiguration, \ - HyperparameterConfiguration, DatasetConfiguration, ModelConfiguration, \ - SystemConfiguration from utils.dataset import CASIAB, ClipConditions, ClipViews, ClipClasses from utils.sampler import TripletSampler @@ -22,9 +19,9 @@ from utils.sampler import TripletSampler class Model: def __init__( self, - system_config: SystemConfiguration, - model_config: ModelConfiguration, - hyperparameter_config: HyperparameterConfiguration + system_config: Dict, + model_config: Dict, + hyperparameter_config: Dict ): self.disable_acc = system_config.get('disable_acc', False) if self.disable_acc: @@ -106,11 +103,11 @@ class Model: def fit_all( self, - dataset_config: DatasetConfiguration, + dataset_config: Dict, dataset_selectors: Dict[ str, Dict[str, Union[ClipClasses, ClipConditions, ClipViews]] ], - dataloader_config: DataloaderConfiguration, + dataloader_config: Dict, ): for (curr_iter, total_iter, (condition, selector)) in zip( self.curr_iters, self.total_iters, dataset_selectors.items() @@ -132,8 +129,8 @@ class Model: def fit( self, - dataset_config: DatasetConfiguration, - dataloader_config: DataloaderConfiguration, + dataset_config: Dict, + dataloader_config: Dict, ): self.is_train = True dataset = self._parse_dataset_config(dataset_config) @@ -244,11 +241,11 @@ class Model: def transform( self, iters: Tuple[int], - dataset_config: DatasetConfiguration, + dataset_config: Dict, dataset_selectors: Dict[ str, Dict[str, Union[ClipClasses, ClipConditions, ClipViews]] ], - dataloader_config: DataloaderConfiguration + dataloader_config: Dict ): self.is_train = False # Split gallery and probe dataset @@ -301,7 +298,7 @@ class Model: def _load_pretrained( self, iters: Tuple[int], - dataset_config: DatasetConfiguration, + dataset_config: Dict, dataset_selectors: Dict[ str, Dict[str, Union[ClipClasses, ClipConditions, ClipViews]] ] @@ -320,8 +317,8 @@ class Model: def _split_gallery_probe( self, - dataset_config: DatasetConfiguration, - dataloader_config: DataloaderConfiguration, + dataset_config: Dict, + dataloader_config: Dict, ) -> Tuple[DataLoader, Dict[str, DataLoader]]: dataset_name = dataset_config.get('name', 'CASIA-B') if dataset_name == 'CASIA-B': @@ -369,7 +366,7 @@ class Model: def _parse_dataset_config( self, - dataset_config: DatasetConfiguration + dataset_config: Dict ) -> Union[CASIAB]: self.in_channels = dataset_config.get('num_input_channels', 3) self.in_size = dataset_config.get('frame_size', (64, 48)) @@ -389,7 +386,7 @@ class Model: def _parse_dataloader_config( self, dataset: Union[CASIAB], - dataloader_config: DataloaderConfiguration + dataloader_config: Dict ) -> DataLoader: config: Dict = dataloader_config.copy() (self.pr, self.k) = config.pop('batch_size', (8, 16)) @@ -16,7 +16,7 @@ pip3 install scikit-learn tqdm tensorboard cd /root git clone https://git.jordangong.com/jordangong/gait-recognition.git -cd gait-recognition; git checkout python3.8; cd .. +cd gait-recognition; git checkout python3.7; cd .. mkdir -p gait-recognition/data/CASIA-B-MRCNN wget https://storage.googleapis.com/gait-dataset/CASIA-B-MRCNN-SEG.tar.zst tar -I zstd -xf CASIA-B-MRCNN-SEG.tar.zst -C gait-recognition/data/CASIA-B-MRCNN diff --git a/utils/configuration.py b/utils/configuration.py deleted file mode 100644 index 340815b..0000000 --- a/utils/configuration.py +++ /dev/null @@ -1,70 +0,0 @@ -from typing import TypedDict, Optional, Union, Tuple, Dict - -from utils.dataset import ClipClasses, ClipConditions, ClipViews - - -class SystemConfiguration(TypedDict): - disable_acc: bool - CUDA_VISIBLE_DEVICES: str - save_dir: str - image_log_on: bool - - -class DatasetConfiguration(TypedDict): - name: str - root_dir: str - train_size: int - num_sampled_frames: int - truncate_threshold: int - discard_threshold: int - selector: Optional[Dict[str, Union[ClipClasses, ClipConditions, ClipViews]]] - num_input_channels: int - frame_size: Tuple[int, int] - cache_on: bool - - -class DataloaderConfiguration(TypedDict): - batch_size: Tuple[int, int] - num_workers: int - pin_memory: bool - - -class ModelHPConfiguration(TypedDict): - ae_feature_channels: int - f_a_c_p_dims: tuple[int, int, int] - - -class OptimizerHPConfiguration(TypedDict): - start_iter: int - lr: int - betas: Tuple[float, float] - eps: float - weight_decay: float - amsgrad: bool - - -class SchedulerHPConfiguration(TypedDict): - step_size: int - gamma: float - - -class HyperparameterConfiguration(TypedDict): - model: ModelHPConfiguration - optimizer: OptimizerHPConfiguration - scheduler: SchedulerHPConfiguration - - -class ModelConfiguration(TypedDict): - name: str - restore_iter: int - total_iter: int - restore_iters: Tuple[int, ...] - total_iters: Tuple[int, ...] - - -class Configuration(TypedDict): - system: SystemConfiguration - dataset: DatasetConfiguration - dataloader: DataloaderConfiguration - hyperparameter: HyperparameterConfiguration - model: ModelConfiguration diff --git a/utils/misc.py b/utils/misc.py index b850830..c047618 100644 --- a/utils/misc.py +++ b/utils/misc.py @@ -1,9 +1,8 @@ import os +from typing import Dict -from utils.configuration import SystemConfiguration - -def set_visible_cuda(config: SystemConfiguration): +def set_visible_cuda(config: Dict): """Set environment variable CUDA device(s)""" CUDA_VISIBLE_DEVICES = config.get('CUDA_VISIBLE_DEVICES', None) if CUDA_VISIBLE_DEVICES: |