Skip to content Skip to footer

Development Environment with Django Apps and Blog

Introduction

In this guide, we will explore how to set up a development environment for a Django app built on PyTorch Image Captioning, along with a blog feed. The environment will run locally on Windows 10 with Python 3.8, NVIDIA CUDA GPU 10.2, cudnn-10.2-windows10-x64-v7.6.5.32.zip, and cuda_10.2.89_441.22_win10.exe.

To get started, follow these steps:

Step-by-Step Guide

1. Extend Path Length

Ensure you have Windows 10 Version 1607 (Anniversary Update) or later.

2. Install Visual Studio 2017 Desktop Express

Download and install Visual Studio 2017 Desktop Express from Microsoft’s website.

3. Install NVIDIA CUDA Toolkit

Visit NVIDIA’s website and download CUDA Toolkit 10.2 for Windows. Follow the installation instructions on NVIDIA’s documentation page.

4. Add CUDA to PATH

Add the following paths to your PATH environment variable:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include

5. Install NVIDIA cuDNN

Download cuDNN from NVIDIA’s website and extract the files from cudnn-10.2-windows10-x64-v7.6.5.32.zip. Copy the files to the appropriate locations as instructed on NVIDIA’s website:

Copy cudnn64_7.6.5.32.dll to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin.
Copy cudnn.h to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include.
Copy cudnn.lib to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64.

6. Verify CUDA_PATH

Ensure the environment variable CUDA_PATH is set to C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2.

7. Install Anaconda

Download and install Anaconda from their website. Select the appropriate version for Windows and follow the installation instructions.

8. Update Anaconda

Open an Anaconda Prompt and run the following commands to update Anaconda and its packages:

conda update conda
conda update anaconda

9. Install PyTorch with CUDA 10.2

Run the following command in Anaconda Prompt to install PyTorch and its related packages:

conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch

10. Install Additional Packages

Install additional packages that may be useful for your Django app and blog:

pip install torchsummary certifi dj-database-url gunicorn psycopg2 Pygments pytz whitenoise

11. Create a Django Project

Create a Django project with the following command:

django-admin startproject image_captioner
cd image_captioner

12. Create a Django App for the Blog

Create a Django app for the blog with the following commands:

python manage.py startapp blog
python manage.py migrate

13. Create a Django App for Image Captioning

Create a Django app for Image Captioning with the following commands:

python manage.py startapp caption
python manage.py makemigrations
python manage.py migrate

14. Create Necessary Folders

Create the following folders in the project’s root directory:

media
models
staticfiles

15. Download Pre-trained Models

Download the pre-trained models for Image Captioning from Dropbox. Extract the files and place them in the appropriate folders under the models directory:

vocab.pkl
decoder-5-3000.pkl
encoder-5-3000.pkl

16. Create Blog Templates and Files

Copy or create the necessary HTML and Python files for the blog and place them in the appropriate directories.

17. Create Admin Account

Create an admin account by running the following command and following the instructions:

python manage.py createsuperuser

18. Start the Server

Start the Django web server with the following command:

python manage.py runserver

Now you can open your web browser and visit http://127.0.0.1:8000 to see a test page and explore your Django app with Image Captioning and blog.

By following these steps, you will set up a powerful development environment that integrates Django with PyTorch for Image Captioning and includes a blog component. This setup allows you to harness the power of deep learning in a web application, providing a comprehensive and scalable solution for various projects.