不使用docker, Windows环境下Deepfake检测项目配置指南

1. 克隆项目

git clone https://github.com/abhijitjadhav1998/Deepfake_detection_using_deep_learning.git
cd Deepfake_detection_using_deep_learning/Django\ Application

2. 环境准备

python -m venv venv
venv\Scripts\activate

3. 核心依赖安装

3.1 安装PyTorch(包含CUDA和cuDNN)

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

验证PyTorch:

import torch
print("PyTorch version:", torch.__version__)
print("CUDA is available:", torch.cuda.is_available())
print("CUDA device count:", torch.cuda.device_count())
if torch.cuda.is_available():
    print("CUDA device name:", torch.cuda.get_device_name(0))

3.2 安装dlib

pip install dlib==19.24.2

验证dlib:

import dlib
print("dlib version:", dlib.__version__)
detector = dlib.get_frontal_face_detector()
print("Face detector created successfully")

3.3 修复依赖冲突

pip install pywinpty==1.1.0

3.4 修改requirements.txt并安装其他依赖

从requirements.txt中删除以下行:

# 删除这些行
torch==2.3.1
torchvision==0.18.1
dlib==19.24.2

修改requirements.txt中的冲突版本:

# 将这行
pywinpty==0.5.7

# 改为
pywinpty==1.1.0

安装依赖:

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4. 项目配置

4.1 创建必要目录

mkdir static
mkdir models
mkdir uploaded_images
mkdir staticfiles\app\uploaded_videos
mkdir uploaded_videos\app\uploaded_videos

4.2 下载模型文件

Google Drive下载模型文件,将model_84_acc_10_frames_final_data.pt放入models目录。
前端使用时sequence length要匹配模型的参数,例如这个模型“model_84_acc_10_frames_final_data.pt”的sequence length就是10

4.3 修改settings.py

import os

# 保持原有的BASE_DIR和PROJECT_DIR设置不变
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_DIR = os.path.abspath(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

# 修改静态文件和媒体文件配置
STATIC_ROOT = os.path.join(PROJECT_DIR, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = [
    os.path.join(PROJECT_DIR, 'uploaded_images'),
    os.path.join(PROJECT_DIR, 'static'),
    os.path.join(PROJECT_DIR, 'models'),
]

MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'uploaded_videos')

4.4 修改views.py中的CUDA设置

需要修改三处:

  1. 设备检测部分(文件开头):
if torch.cuda.is_available():
    device = 'cuda'
else:
    device = 'cpu'
  1. predict_page函数中的模型创建:
if device == "cuda":
    model = Model(2).cuda()
else:
    model = Model(2).cpu()
  1. 模型加载部分:
model.load_state_dict(torch.load(path_to_model, map_location=torch.device(device)))

5. 启动服务器

python manage.py collectstatic --noinput
python manage.py runserver

注意事项

  • Python版本3.10.6已验证可用
  • 确保NVIDIA驱动和CUDA已正确安装
  • 检查模型文件放置位置是否正确
  • 如遇权限问题,确保以管理员身份运行命令提示符