不使用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设置
需要修改三处:
- 设备检测部分(文件开头):
if torch.cuda.is_available():
device = 'cuda'
else:
device = 'cpu'
- predict_page函数中的模型创建:
if device == "cuda":
model = Model(2).cuda()
else:
model = Model(2).cpu()
- 模型加载部分:
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已正确安装
- 检查模型文件放置位置是否正确
- 如遇权限问题,确保以管理员身份运行命令提示符
评论区