forked from NVIDIA/flownet2-pytorch
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Fitsum Reda
committed
Dec 3, 2017
0 parents
commit 573ad5e
Showing
57 changed files
with
3,939 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
*.pyc | ||
.torch | ||
_ext | ||
*.o | ||
work | ||
work/* | ||
_ext/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
FROM nvidia/cuda:8.0-cudnn6-devel-ubuntu16.04 | ||
|
||
RUN apt-get update && apt-get install -y rsync htop git openssh-server python-pip | ||
|
||
RUN pip install --upgrade pip | ||
|
||
RUN pip install http://download.pytorch.org/whl/cu80/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl | ||
RUN pip install torchvision cffi tensorboardX | ||
|
||
RUN pip install tqdm scipy scikit-image colorama==0.3.7 | ||
RUN pip install setproctitle pytz ipython |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
Copyright 2017 NVIDIA CORPORATION | ||
|
||
Licensed under the Apache License, Version 2.0 (the "License"); | ||
you may not use this file except in compliance with the License. | ||
You may obtain a copy of the License at | ||
|
||
http://www.apache.org/licenses/LICENSE-2.0 | ||
|
||
Unless required by applicable law or agreed to in writing, software | ||
distributed under the License is distributed on an "AS IS" BASIS, | ||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
See the License for the specific language governing permissions and | ||
limitations under the License. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,76 @@ | ||
# flownet2-pytorch | ||
|
||
Pytorch implementation of [FlowNet2](https://arxiv.org/abs/1612.01925) by [Fitsum Reda] (https://github.com/fitsumreda). | ||
|
||
Multiple GPU training is supported, and the code provides examples for training or inference on [MPI-Sintel] (http://sintel.is.tue.mpg.de/) clean and final datasets. The same commands can be used for training or inference with other datasets. See below for more detail. | ||
|
||
Inference using fp16 (half-precision) is also supported. | ||
|
||
For more help, type <br /> | ||
|
||
python main.py --help | ||
|
||
## Network architectures | ||
Below are the different flownet neural network architectures that are provided. <br /> | ||
A batchnorm version for each network is available. | ||
|
||
- **FlowNet2S** | ||
- **FlowNet2C** | ||
- **FlowNet2CS** | ||
- **FlowNet2CSS** | ||
- **FlowNet2SD** | ||
- **FlowNet2** | ||
|
||
## Custom layers | ||
|
||
`FlowNet2` or `FlowNet2C*` achitectures rely on custom layers `Resample2d` or `Correlation`. <br /> | ||
A pytorch implementation of these layers with cuda kernels are available at [./networks](./networks). <br /> | ||
Note : Currently, half precision kernels are not available for these layers. | ||
|
||
## Data Loaders | ||
|
||
Dataloaders for FlyingChairs, FlyingThings, ChairsSDHom and ImagesFromFolder are available in [datasets.py](./datasets.py). <br /> | ||
|
||
## Loss Functions | ||
|
||
L1 and L2 losses with multi-scale support are available in [losses.py](./losses.py). <br /> | ||
|
||
## Installation | ||
|
||
# get flownet2-pytorch source | ||
git clone ssh://[email protected]:2200/freda/flownet2-pytorch.git | ||
cd flownet2-pytorch | ||
|
||
# install custom layers | ||
bash install.sh | ||
|
||
## Docker image | ||
Libraries and other dependencies for this project include: Ubuntu 16.04, Python 2.7, Pytorch 0.2, CUDNN 6.0, CUDA 8.0 | ||
|
||
A Dockerfile with the above dependencies is available | ||
|
||
# Build and launch docker image | ||
bash launch_docker.sh | ||
|
||
## Inference | ||
# Example on MPISintel Clean | ||
python main.py --inference --model FlowNet2 --save_flow --inference_dataset MpiSintelClean \ | ||
--inference_dataset_root /path/to/mpi-sintel/clean/dataset \ | ||
--resume /path/to/checkpoints | ||
|
||
## Training and validation | ||
|
||
# Example on MPISintel Final and Clean, with L1Loss on FlowNet2 model | ||
python main.py --batch_size 8 --model FlowNet2 --loss=L1Loss --optimizer=Adam --optimizer_lr=1e-4 \ | ||
--training_dataset MpiSintelFinal --training_dataset_root /path/to/mpi-sintel/final/dataset \ | ||
--validation_dataset MpiSintelClean --validation_dataset_root /path/to/mpi-sintel/clean/dataset | ||
|
||
# Example on MPISintel Final and Clean, with MultiScale loss on FlowNet2C model | ||
python main.py --batch_size 8 --model FlowNet2C --optimizer=Adam --optimizer_lr=1e-4 \ | ||
--loss=MultiScale --loss_norm=L1 loss_numScales=5 loss_startScale=4 \ | ||
--training_dataset MpiSintelFinal --training_dataset_root /path/to/mpi-sintel/final/dataset \ | ||
--validation_dataset MpiSintelClean --validation_dataset_root /path/to/mpi-sintel/clean/dataset | ||
|
||
## Results on MPI-Sintel | ||
[](https://www.youtube.com/watch?v=HtBmabY8aeU "Predicted flows on MPI-Sintel") | ||
|
Empty file.
Oops, something went wrong.