---
# System prepended metadata

title: Documentation - CANF-VC++
tags: [Compression]

---

Author: `Peng-Yu Chen`

# Table of Contents
1. Introduction
2. Methodology Overview
3. Evaluation Guideline
4. Training Procedure
5. Extensive Experiments

---

# Introduction
This is the documentation of **CANF-VC++** - a following work of Ho *et al.*, "CANF-VC: Conditional Augmented Normalizing Flows for Video Compression," ECCV'22. In this document, you can find algorithm details, environment setup for execution, execution commands of each improvement tools and training procedure.

---

# Methodology Overview
## CANF-VC

## Error-Propagation-Aware Training

## Round-Based Training

## GridNet
* Checkpoints keys
    | Lambda | Exp Key                          | Epoch | Note |
    | ------ | -------------------------------- | ----- | ---- |
    | 2048   | 0f460045ed33482b9433f3a125f39c99 | 41    |      |

* Testing Commands
    * 2048: `$ python condMo_condInter_ANFIC_GridNet.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=CANFVC_Plus --experiment_name=CANFVC_gridnet --restore_exp_key=0f460045ed33482b9433f3a125f39c99 --restore_exp_epoch=41 --test --gop=32`

## Increasing Modulated Loss + Feature Map Modulation
### Ch-Sp-wise - GridNet + inter codec (w/ IFS)
* Checkpoints keys
    | Lambda | Exp Key                          | Epoch | Note |
    | ------ | -------------------------------- | ----- | ---- |
    | 2048   | 1dfec31ac37347009dfa3060e6a6de51 | 15    |      |
    
* Testing Commands
    * 
    
### Ch-wise - GridNet + inter codec (w/ IFS)
* Checkpoints keys
    | Lambda | Exp Key                          | Epoch | Note |
    | ------ | -------------------------------- | ----- | ---- |
    | 2048   | b8fa4895c82248b4b67d75b2184c4061 | 5     |      |

* Testing Commands
    *

### Ch-wise - GridNet last layer only (w/o IFS)
* Checkpoints keys
    | Lambda | Exp Key | Epoch | Note |
    | ------ | ------- | ----- | ---- |
    | 2048   |         |       |      |

* Training Commands
    * 2048: 

## Quadtree Partition-Based Entropy Coding

### Ch-Sp-wise - GridNet + inter codec (w/ IFS)
* Checkpoints keys
    | Lambda | Exp Key | Epoch | Note   |
    | ------ | ------- | ----- | ------ |
    | 2048   |         |       | step 1 |
    | 2048   |         |       | step 2 |
    | 2048   |         |       | step 3 |

* Training Commands
    * 2048 (step 1): `$ python condMo_condInter_ANFIC_Adaptive_GridNet_FS_v2.py --MENet=PWC --adaptive_type=both --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior_DCVC_DC_Context.yml --residual_coder_conf ./config/CANF_inter_coder_estUN_DCVC_DC_Context.yml --lmda=2048 --num_workers=8 --gpus=2 --batch_size 1 --restore=load --project_name=CANFVC_PP --experiment_name=FS_GridNet_Adaptive_ChSp_DCVC_DC_Context --restore_exp_key=1dfec31ac37347009dfa3060e6a6de51 --restore_exp_epoch=15 -lr=1e-4 --lmda_divisor=1.414`
    


### Ch-wise - GridNet + inter codec (w/ IFS)
* Training Commands
    * 2048: `$ python train_ChAda_Large.py --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior_DCVC_DC_Context.yml --residual_coder_conf ./config/CANF_inter_coder_estUN_DCVC_DC_Context.yml --lmda=2048 --num_workers=8 --gpus=2 --batch_size 1 --project_name=CANFVC_PP --experiment_name=ChAdaptive --restore=custom -lr=1e-4 --mod_loss --lmda_divisor=1.414`
    > To Wayne: you need to specify your trained model in "TO BE MODIFIED"


---

# Evaluation Guideline
## Environment Setup
## Commands

### Error-Propagation-Aware Training
> ~/CANFVC_Plus/
* 1440: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder.yml --lmda=1440 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-RealRNN-GOP32 --restore_exp_key=d44b23b19826417ea95aa6e8cb41497c  --restore_exp_epoch=35 --test --test_GOP=32`
    * ![](https://i.imgur.com/5v1F3zF.png)

* 720: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder.yml --lmda=720 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-RealRNN-GOP32 --restore_exp_key=1ba5f0dc15064aadb9d8abaddea7f17a  --restore_exp_epoch=35 --test --test_GOP=32`
    * ![](https://i.imgur.com/stNqi2W.png)

* 360: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder.yml --lmda=360 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-RealRNN-GOP32 --restore_exp_key=7f7c9a9a87504ccba73481506c1ae265  --restore_exp_epoch=35 --test --test_GOP=32`
    * ![](https://i.imgur.com/0YwZH4s.png)

* 180: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder.yml --lmda=180 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-RealRNN-GOP32 --restore_exp_key=b3e60326d2a14ced811a022ade651996  --restore_exp_epoch=35 --test --test_GOP=32`
    * ![](https://i.imgur.com/V0Clabj.png)

### Round-Based Training

> ~/CANFVC_Plus/
* 2048: `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN_gop12 --restore_exp_key=ee92616c8e0f427b9eadda20b70d11a4  --restore_exp_epoch=41 --test --test_GOP=12`
    * ![](https://i.imgur.com/RA5cRjk.png)

* 1024: `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN_gop12 --restore_exp_key=447a00ee468449feae4e6065ba4456de  --restore_exp_epoch=40 --test --test_GOP=12`
    * ![](https://i.imgur.com/40gj5xN.png)

* 512: `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN_gop12 --restore_exp_key=50812d3e7fd549c38e82256cb9872fc7  --restore_exp_epoch=39 --test --test_GOP=12`
    * ![](https://i.imgur.com/i46EPkJ.png)

* 256: `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN_gop12 --restore_exp_key=82ab8db341c144cf9ad09f913930a511  --restore_exp_epoch=40 --test --test_GOP=12`
    * ![](https://i.imgur.com/NoNhfy7.png)


### GridNet
* 2048 : `$ CUDA_VISIBLE_DEVICES=0 python -s condMo_condInter_ANFIC_GridNet.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=CANFVC_Plus --experiment_name=CANFVC_gridnet --restore_exp_key=0f460045ed33482b9433f3a125f39c99 --restore_exp_epoch=41 --test --gop=32 ;`
    * ![](https://i.imgur.com/tUYD5tH.png)
    * gop=12: ![](https://hackmd.io/_uploads/ByaKcY2Sh.png)

* 1024 : `$ CUDA_VISIBLE_DEVICES=0 python -s condMo_condInter_ANFIC_GridNet.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=CANFVC_Plus --experiment_name=CANFVC_gridnet --restore_exp_key=4879b7144e5d4320bc3ae1e639f3bddf --restore_exp_epoch=39 --test --gop=32 ;`
    * ![](https://hackmd.io/_uploads/BJNvMBQN2.png)
    * gop=12: ![](https://hackmd.io/_uploads/BkZY5YnH3.png)

* 512 : `$ CUDA_VISIBLE_DEVICES=0 python -s condMo_condInter_ANFIC_GridNet.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=CANFVC_Plus --experiment_name=CANFVC_gridnet --restore_exp_key=997ccae829654d16b932daa6506fd7c8 --restore_exp_epoch=33 --test --gop=32 ;`
    * ![](https://hackmd.io/_uploads/H1tIfr742.png)
    * gop=12: ![](https://hackmd.io/_uploads/S1K_qK3B3.png)

* 256 : `$ CUDA_VISIBLE_DEVICES=0 python -s condMo_condInter_ANFIC_GridNet.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=CANFVC_Plus --experiment_name=CANFVC_gridnet --restore_exp_key=12fe5082edf449aa9a0bcb5c5cdc3c54 --restore_exp_epoch=41 --test --gop=32 ;`
    * ![](https://i.imgur.com/4jiQQ6N.png)
    * gop=12: ![](https://hackmd.io/_uploads/rylO5t3rh.png)

### Increasing Modulated Loss
* 2048: `$ CUDA_VISIBLE_DEVICES=0 python -s train_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=WACV24 --experiment_name=ChAdaptive_noContext_noIFS --restore_exp_key=990e42771cbf4181a0ae8a1bb07e349b --restore_exp_epoch=12 --test --gop=32 ; `
* 1024: `$ CUDA_VISIBLE_DEVICES=0 python -s train_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=WACV24 --experiment_name=ChAdaptive_noContext_noIFS --restore_exp_key=6c2a7cd31d2947ecab579a5ffcaa1d83 --restore_exp_epoch=12 --test --gop=32 ; `
* 512: `$ CUDA_VISIBLE_DEVICES=1 python -s train_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=WACV24 --experiment_name=ChAdaptive_noContext_noIFS --restore_exp_key=e10ca94e4bf24883804b5c3f4b6df250 --restore_exp_epoch=12 --test --gop=32 ; `
* 256: `$ CUDA_VISIBLE_DEVICES=1 python -s train_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=WACV24 --experiment_name=ChAdaptive_noContext_noIFS --restore_exp_key=2911bf9d853c4ba489858ab3e176276d --restore_exp_epoch=12 --test --gop=32 ; `


### Quadtree Partition-Based Entropy Coding


* 2048: `$ CUDA_VISIBLE_DEVICES=0 python -s train_ChAda_Large_noIFS.py --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior_DCVC_DC_Context.yml --residual_coder_conf ./config/CANF_inter_coder_estUN_DCVC_DC_Context.yml --lmda=2048 --num_workers=4 --gpus=1 --project_name=WACV24 --experiment_name=ChAdaptive_noIFS --restore=resume --restore_exp_key=9aacc8ee63f544109ea9efac19bca7c8 --restore_exp_epoch=11 --test --gop=32 ;`
    * ![](https://hackmd.io/_uploads/BJbqXz4Ph.png)

* 1024: `$ CUDA_VISIBLE_DEVICES=0 python -s train_ChAda_Large_noIFS.py --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior_DCVC_DC_Context.yml --residual_coder_conf ./config/CANF_inter_coder_estUN_DCVC_DC_Context.yml --lmda=1024 --num_workers=4 --gpus=1 --project_name=WACV24 --experiment_name=ChAdaptive_noIFS --restore=resume --restore_exp_key=1d27847b0680466cac4a6d69adb02a35 --restore_exp_epoch=11 --test --gop=32 ;`
    * ![](https://hackmd.io/_uploads/HJcF7GVP2.png)

* 512: `$ CUDA_VISIBLE_DEVICES=0 python -s train_ChAda_Large_noIFS.py --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior_DCVC_DC_Context.yml --residual_coder_conf ./config/CANF_inter_coder_estUN_DCVC_DC_Context.yml --lmda=512 --num_workers=4 --gpus=1 --project_name=WACV24 --experiment_name=ChAdaptive_noIFS --restore=resume --restore_exp_key=4adf603648c54f7ba18d7e33bdfc5dd6 --restore_exp_epoch=11 --test --gop=32 ;`
    * ![](https://hackmd.io/_uploads/rkZFXGVPh.png)

* 256: `$ CUDA_VISIBLE_DEVICES=0 python -s train_ChAda_Large_noIFS.py --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior_DCVC_DC_Context.yml --residual_coder_conf ./config/CANF_inter_coder_estUN_DCVC_DC_Context.yml --lmda=256 --num_workers=4 --gpus=1 --project_name=WACV24 --experiment_name=ChAdaptive_noIFS --restore=resume --restore_exp_key=b91833f03db545e3b2e3328e6a52c366 --restore_exp_epoch=11 --test --gop=32 ;`
    * ![](https://hackmd.io/_uploads/ryK_mzNP3.png)


---

# Training Procedure

---

# Extensive Experiments

### CANF-VC + round-based training

* Table of experiments
   | lambda | epoch | exp_hash                         | Note                                                     |
   | ------ | ----- | -------------------------------- | -------------------------------------------------------- |
   | 2048   | 28    | 9920f2c4c5c34b17b8fc5c61c8933241 | finetune from CANF-VC ; use 7 frames for fair comparison |
   | 1024   | 28    | b39192f761104040b18f1b73f5fb60d8 |                                                          |
   | 512    | 28    | 65c2022b6f534e7bb02bb20ba68e0d5c |                                                          |
   | 256    | 28    | 8955196cc69749428c857d56af39b727 |                                                          |
   | 2048   | 28    | 3f0efc4bf70f4992ba0237431fd81ee0 | lmda_divisor=1.414                                       |
   | 1024   | 28    | 2cad35416ebe4141a0d3f3c29c23a418 | lmda_divisor=1.414                                       |
   | 512    | 28    | 740a1aa058ad4967b0c786428cea8114 | lmda_divisor=1.414                                       |
   | 256    | 28    | e886b3e448994794934e032b7e1a652b | lmda_divisor=1.414                                       |
   
* Training Command
   | lambda | Command                                                                                                                                                                                                                                                                                                                                                                                                                                                | Note |
   | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---- |
   | 2048   | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=cf8be0b8102c4a6eb2015b58f184f757 --restore_exp_epoch=83 -lr=1e-5 --lmda_divisor=1.414 ; ` |      |
   | 1024   | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=e641f66d28e3413288d655ab238994aa --restore_exp_epoch=80 -lr=1e-5 --lmda_divisor=1.414 ; ` |      |
   | 512    | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=b3914fc0525244e4be05ac45674d9f39 --restore_exp_epoch=80 -lr=1e-5 --lmda_divisor=1.414 ; `  |      |
   | 256    | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=58777cdc6f6440e98180b20a5ff758b2 --restore_exp_epoch=89 -lr=1e-5 --lmda_divisor=1.414 ; `  |      |
   
   
* Testing Command
    * 2048: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=9920f2c4c5c34b17b8fc5c61c8933241 --restore_exp_epoch=28 --test --gop=32 ;`
    * 1024: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=b39192f761104040b18f1b73f5fb60d8 --restore_exp_epoch=28 --test --gop=32 ;`
    * 512: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=65c2022b6f534e7bb02bb20ba68e0d5c --restore_exp_epoch=28 --test --gop=32 ;`
    * 256: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN --restore_exp_key=8955196cc69749428c857d56af39b727 --restore_exp_epoch=28 --test --gop=32 ;`
    * 2048: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN_again --restore_exp_key=3f0efc4bf70f4992ba0237431fd81ee0 --restore_exp_epoch=28 --test --gop=32 ;`
    * 1024: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN_again --restore_exp_key=2cad35416ebe4141a0d3f3c29c23a418 --restore_exp_epoch=28 --test --gop=32 ;`
    * 512: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN_again --restore_exp_key=740a1aa058ad4967b0c786428cea8114 --restore_exp_epoch=28 --test --gop=32 ;`
    * 256: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-estUN_again --restore_exp_key=e886b3e448994794934e032b7e1a652b --restore_exp_epoch=28 --test --gop=32 ;`
   
   
### CANF-VC + round-based training + EPA training 
* Table of experiments
   | lambda | epoch | exp_hash                         | Note                                                     |
   | ------ | ----- | -------------------------------- | -------------------------------------------------------- |
   | 2048   | 39    | 8cab5a71eff542eeb93da1643afbb0ba | Re-train from CANF-VC ; use 7 frames for fair comparison |
   | 1024   | 39    | 7dae47249b064ddc88bfb0dc3e7693a8 |                                                          |
   | 512    | 38/39 | ac98fc585aaf4ab69a6a224f4bb155bd |                                                          |
   | 256    | 38    | 15948370d98b418f988ab85658865c01 |                                                          |
   
* Training Command
   | lambda | Command                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | Note |
   | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
   | 2048   | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=cf8be0b8102c4a6eb2015b58f184f757 --restore_exp_epoch=83 -lr=1e-5 --lmda_divisor=1.414` |      |
   | 1024   | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=8cab5a71eff542eeb93da1643afbb0ba --restore_exp_epoch=39 -lr=1e-5 --lmda_divisor=1.414` |      |
   | 512    | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=8cab5a71eff542eeb93da1643afbb0ba --restore_exp_epoch=39 -lr=1e-5 --lmda_divisor=1.414`  |      |
   | 256    | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=8cab5a71eff542eeb93da1643afbb0ba --restore_exp_epoch=39 -lr=1e-5 --lmda_divisor=1.414`  |      |

* Testing Command
    * 2048: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=8cab5a71eff542eeb93da1643afbb0ba --restore_exp_epoch=39 --test --gop=32 ;`
    * 1024: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=7dae47249b064ddc88bfb0dc3e7693a8 --restore_exp_epoch=39 --test --gop=32 ;`
    * 512: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=ac98fc585aaf4ab69a6a224f4bb155bd --restore_exp_epoch=38 --test --gop=32 ;`
    * 256: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-estUN --restore_exp_key=15948370d98b418f988ab85658865c01 --restore_exp_epoch=38 --test --gop=32 ;`



### CANF-VC + round-based training + modulated loss 
* `diff` from Exp "CANF-VC + round-based training + EPA training "
    * ![](https://hackmd.io/_uploads/S1-Y6J9o2.png)

* Table of experiments
   | lambda | epoch | exp_hash                         | Note |
   | ------ | ----- | -------------------------------- | ---- |
   | 2048   | 32    | eebd47ed166044428894e80044b4ebc4 |      |
   | 1024   | 30/32 | c395ebc5d6cd4f9eb121e8bd13a9cffe |      |
   | 512    | 30/32 | df96587e83c74b89be1b23f256e3a565 |      |
   | 256    | 30/31 | acab53aff1254cf690ae2288d26ee0e8 |      |

* Training Command
   | lambda | Command                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Note |
   | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
   | 2048   | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=cf8be0b8102c4a6eb2015b58f184f757  --restore_exp_epoch=83 -lr=1e-5 --lmda_divisor=1.414` |      |
   | 1024   | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=eebd47ed166044428894e80044b4ebc4  --restore_exp_epoch=32 -lr=1e-5 --lmda_divisor=1.414` |      |
   | 512    | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=eebd47ed166044428894e80044b4ebc4  --restore_exp_epoch=32 -lr=1e-5 --lmda_divisor=1.414`  |      |
   | 256    | `$ CUDA_VISIBLE_DEVICES=1 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=eebd47ed166044428894e80044b4ebc4  --restore_exp_epoch=32 -lr=1e-5 --lmda_divisor=1.414`  |      |

* Testing Command
    * 2048: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=eebd47ed166044428894e80044b4ebc4  --restore_exp_epoch=32 --test --gop=32 ;`
    * 1024: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=c395ebc5d6cd4f9eb121e8bd13a9cffe  --restore_exp_epoch=30 --test --gop=32 ;`
    * 512: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=df96587e83c74b89be1b23f256e3a565  --restore_exp_epoch=30 --test --gop=32 ;`
    * 256: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-modLoss-estUN --restore_exp_key=acab53aff1254cf690ae2288d26ee0e8  --restore_exp_epoch=30 --test --gop=32 ;`

* Comparison
    * UVG: ![](https://hackmd.io/_uploads/rk30xLeTn.png)
    * HEVC-B: ![](https://hackmd.io/_uploads/S1cy-8xan.png)


### CANF-VC + round-based training + modulated loss + EPA training
* Table of experiments
   | lambda | epoch | exp_hash                         | Note           |
   | ------ | ----- | -------------------------------- | -------------- |
   | 2048   | 39    | d24d62d38a2e484f81f7267efc02b385 |                |
   | 1024   | 35    | 85be92f6bceb42c7a891830641c2fae7 |                |
   | 512    | 40    | 4a0f7cb81e49475a9a763b2197f2d07e |                |
   | 256    | 35    | 2834752f503a4885a5ec55e3eee1ce3e |                |
   | 2048   | 35    | c0d061c858004fc8881806b87b3125c9 | lmda_divisor=2 |
   | 1024   | 35    | 045244bb7bcd4a88b5c3012312ebfd8a | lmda_divisor=2 |
   | 512    | 35    | 2df3f8da6eee4e14a4d2270162b28fc5 | lmda_divisor=2 |
   | 256    | 35    | e311de16c4ff4aa3b30ea3076db6c29f | lmda_divisor=2 |

* Training Command
   | lambda | Command                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Note |
   | ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
   | 2048   | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=cf8be0b8102c4a6eb2015b58f184f757  --restore_exp_epoch=83 -lr=1e-5 --lmda_divisor=2 ; ` |      |
   | 1024   | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=d24d62d38a2e484f81f7267efc02b385  --restore_exp_epoch=39 -lr=1e-5 --lmda_divisor=2 ; ` |      |
   | 512   | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=d24d62d38a2e484f81f7267efc02b385  --restore_exp_epoch=39 -lr=1e-5 --lmda_divisor=2 ; ` |      |
   | 256   | `$ CUDA_VISIBLE_DEVICES=0 python3 condMo_condInter_ANFIC_modLoss.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=d24d62d38a2e484f81f7267efc02b385  --restore_exp_epoch=39 -lr=1e-5 --lmda_divisor=2 ; ` |      |
   
   
    
* Testing Command
    * 2048: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=d24d62d38a2e484f81f7267efc02b385  --restore_exp_epoch=39 --test --gop=32 ;`
    * 1024: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=85be92f6bceb42c7a891830641c2fae7  --restore_exp_epoch=35 --test --gop=32 ;`
    * 512: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=4a0f7cb81e49475a9a763b2197f2d07e  --restore_exp_epoch=40 --test --gop=32 ;`
    * 256: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=2834752f503a4885a5ec55e3eee1ce3e  --restore_exp_epoch=35 --test --gop=32 ;`
    
    * 2048: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=c0d061c858004fc8881806b87b3125c9  --restore_exp_epoch=35 --test --gop=32 ;`
    * 1024: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=045244bb7bcd4a88b5c3012312ebfd8a  --restore_exp_epoch=35 --test --gop=32 ;`
    * 512: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=2df3f8da6eee4e14a4d2270162b28fc5  --restore_exp_epoch=35 --test --gop=32 ;`
    * 256: `$ python3 condMo_condInter_ANFIC.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --project_name=ANF-based-resCoder-for-DVC --experiment_name=CANFVC-realRNN-modLoss-estUN --restore_exp_key=e311de16c4ff4aa3b30ea3076db6c29f  --restore_exp_epoch=35 --test --gop=32 ;`
  
  
  
  
### CANF-VC + round-based training + modulated loss + EPA training + ChAda
* Table of experiments
   | lambda   | epoch | exp_hash                         | Note                       |
   | -------- | ----- | -------------------------------- | -------------------------- |
   | 2048-pre | 3     | 0d602342e29a45a3918b570e9e12b267 | ~/WACV24 ; trainMC_fullgop |
   | 2048     | 21    | 7c5ce8595c8940eab05ba42e754d1775 | trainRes_fullgop           |
   | 2048     | 9     | b9be279baaf14cd985d395dccd53c754 | e2e                        |
   | 1024     | 8/10  | 0c0625bfb42b417fa9b385c328f42e31 |                            |
   | 512      | 10    | 7b13f6add97b4fa5a27a029db31ea648 |                            |
   | 256      | 9     | bd92ef61885b488fbcf126a0f2948880 |                            |

* Training Command
   | lambda   | Command                                                                                                                                                                                                                                                                                                                                                                                                                                                             | Note |
   | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
   | 2048-pre | `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=custom --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS -lr=1e-4 --lmda_divisor=1.414 --mod_loss`                                                                        |      |
   | 2048     | `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=load --restore_exp_key=0d602342e29a45a3918b570e9e12b267 --restore_exp_epoch=3 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS -lr=2e-5 --lmda_divisor=1.414 --mod_loss` |      |
   | 2048     | `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --restore_exp_key=7c5ce8595c8940eab05ba42e754d1775 --restore_exp_epoch=21 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS -lr=2e-5 --lmda_divisor=1.414 --mod_loss` |      |
   | 1024     | `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --restore_exp_key=7c5ce8595c8940eab05ba42e754d1775 --restore_exp_epoch=21 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS -lr=2e-5 --lmda_divisor=1.414 --mod_loss` |      |
   | 512     | `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --restore_exp_key=7c5ce8595c8940eab05ba42e754d1775 --restore_exp_epoch=21 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS -lr=2e-5 --lmda_divisor=1.414 --mod_loss` |      |
   | 256     | `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --batch_size 2 --restore=finetune --restore_exp_key=7c5ce8595c8940eab05ba42e754d1775 --restore_exp_epoch=21 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS -lr=2e-5 --lmda_divisor=1.414 --mod_loss` |      |
   
   
* Testing Command
    * 2048: `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=2048 --num_workers=4 --gpus=1 --restore=resume --restore_exp_key=b9be279baaf14cd985d395dccd53c754 --restore_exp_epoch=9 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS_again --test --gop=32 ;`
    * 1024: `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=1024 --num_workers=4 --gpus=1 --restore=resume --restore_exp_key=0c0625bfb42b417fa9b385c328f42e31 --restore_exp_epoch=8 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS_again --test --gop=32 ;`
    * 512: `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=512 --num_workers=4 --gpus=1 --restore=resume --restore_exp_key=7b13f6add97b4fa5a27a029db31ea648 --restore_exp_epoch=10 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS_again --test --gop=32 ;`
    * 256: `$ python3 train_MCNet_ChAda_Large_noIFS.py --MENet=PWC --motion_coder_conf ./config/DVC_motion.yml --cond_motion_coder_conf ./config/CANF_motion_predprior.yml --residual_coder_conf ./config/CANF_inter_coder_estUN.yml --lmda=256 --num_workers=4 --gpus=1 --restore=resume --restore_exp_key=bd92ef61885b488fbcf126a0f2948880 --restore_exp_epoch=9 --project_name=WACV24 --experiment_name=MCNet_ChAdaptive_noIFS_again --test --gop=32 ;`