Skip to content

Latest commit

 

History

History
89 lines (76 loc) · 4.91 KB

WINDOWS_INSTALLATION.md

File metadata and controls

89 lines (76 loc) · 4.91 KB

FILM: Windows Installation Instructions

Anaconda Python 3.9 (Optional)

Install Anaconda3 Python3.9

  • Go to https://www.anaconda.com/products/individual and click the "Download" button.
  • Download the Windows 64-Bit or 32-bit Graphical Installer, depending on your system needs.
  • Run the downloaded (.exe) file to begin the installation.
  • (Optional) Check the "Add Anaconda3 to my PATH environment variable". You may get a 'red text' warning of its implications, you may ignore it for this setup.

Create a new Anaconda virtual environment

  • Open a new Terminal
  • Type the following command:
conda create -n frame_interpolation pip python=3.9
  • The above command will create a new virtual environment with the name frame_interpolation

Activate the Anaconda virtual environment

  • Activate the newly created virtual environment by typing in your terminal (Command Prompt or PowerShell)
conda activate frame_interpolation
  • Once activated, your terminal should look like:
(frame_interpolation) <present working directory> >

NVIDIA GPU Support

Install CUDA Toolkit

Install cuDNN

  • Go to https://developer.nvidia.com/rdp/cudnn-download.
  • Create a user profile (if needed) and login.
  • Select cuDNN v8.1.0 (January 26th, 2021), for CUDA 11.0,11.1 and 11.2.
  • Download cuDNN Library for Widnows (x86).
  • Extract the contents of the zipped folder (it contains a folder named cuda) into <INSTALL_PATH>\NVIDIA GPU Computing Toolkit\CUDA\v11.2\. <INSTALL_PATH> points to the installation directory specified during CUDA Toolkit installation. By default, <INSTAL_PATH> = C:\Program Files.

Environment Setup

  • Add the following paths to your 'Advanced System Settings' > 'Environment Variables ...' > Edit 'Path', and add:
    • <INSTALL_PATH>\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin
    • <INSTALL_PATH>\NVIDIA GPU Computing Toolkit\CUDA\v11.2\libnvvp
    • <INSTALL_PATH>\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include
    • <INSTALL_PATH>\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\lib64
    • <INSTALL_PATH>\NVIDIA GPU Computing Toolkit\CUDA\v11.2\cuda\bin

Verify Installation

  • Open a new terminal and type conda activate frame_interpolation.
  • Install (temporarily) tensorflow and run a simple operation, by typing:
pip install --ignore-installed --upgrade tensorflow==2.6.0
python -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
  • You should see success messages: 'Created device /job:localhost/replica:0/task:0/device:GPU:0'.

FILM Installation

  • Get Frame Interpolation source codes
git clone https://github.com/google-research/frame-interpolation
cd frame-interpolation
  • Install dependencies
pip install -r requirements.txt
conda install -c conda-forge ffmpeg
  • Download pre-traned models, detailed here.

Running the Codes

  • One mid-frame interpolation. Note: python3 may not be recognized in Windows, so simply drop 3 as below.
python -m eval.interpolator_test --frame1 photos\one.png --frame2 photos\two.png --model_path <pretrained_models>\film_net\Style\saved_model --output_frame photos\output_middle.png
  • Large resolution mid-frame interpolation: Set block_height and --block_width to subdivide along the height and width to create patches, where the interpolator will be run iteratively, and the resulting interpolated mid-patches will be reconstructed into a final mid-frame. In the example below, will create and run on 4 patches (2*2).
python -m eval.interpolator_test --frame1 photos\one.png --frame2 photos\two.png --block_height 2 --block_wdith 2 --model_path <pretrained_models>\film_net\Style\saved_model --output_frame photos\output_middle.png
  • Many in-between frames interpolation
python -m eval.interpolator_cli --pattern "photos" --model_path <pretrained_models>\film_net\Style\saved_model --times_to_interpolate 6 --output_video

Acknowledgments

This windows installation guide is heavily based on tensorflow-object-detection-api-tutorial .