NAFNet / README.md
Nguyen Van Duy
Deploy NAFNet FastAPI backend (removed binary figures and demo images)
eb93722
|
Raw
History Blame Contribute Delete
2.03 kB
metadata
title: NAFNet
emoji: 🔥
colorFrom: purple
colorTo: green
sdk: docker
app_port: 7860
pinned: false

NAFNet FastAPI Backend

Backend này kết nối trực tiếp với repo NAFNet đã clone sẵn trong:

backend/NAFNet/NAFNet-main

Không cần clone lại và không cần di chuyển folder.

Cấu trúc quan trọng

backend/
├── app/
├── NAFNet/
│   └── NAFNet-main/
│       ├── basicsr/
│       ├── options/
│       └── setup.py
├── weights/
├── uploads/
├── outputs/
├── requirements.txt
└── run.py

Cài thư viện

Chạy tại thư mục backend, không chạy trong backend/NAFNet:

cd c:\Users\Admin\Documents\Nam3_Ky2\CV\Final\backend
pip install -r requirements.txt

Bạn đã cài requirements của NAFNet trong NAFNet/NAFNet-main rồi thì vẫn nên chạy lệnh trên để cài thêm FastAPI.

Checkpoint

Đặt checkpoint vào:

backend/weights/nafnet_sidd_width32.pth
backend/weights/nafnet_sidd_width64.pth
backend/weights/nafnet_custom.pth

Nếu chưa có checkpoint hoặc NAFNet lỗi, backend sẽ tự fallback sang mock denoise để không crash.

Chạy API

Chạy tại thư mục backend:

python run.py

Mở Swagger:

http://127.0.0.1:8000/docs

API endpoints

GET  /api/health
GET  /api/models
POST /api/denoise
POST /api/denoise-json
GET  /api/outputs/{filename}

Test curl

Trả file ảnh trực tiếp:

curl -X POST "http://127.0.0.1:8000/api/denoise" \
  -F "file=@test.jpg" \
  --output output.png

Trả JSON:

curl -X POST "http://127.0.0.1:8000/api/denoise-json" \
  -F "file=@test.jpg" \
  -F "model_name=nafnet_sidd_width32"

Flutter base URL

Flutter Web Chrome:

http://127.0.0.1:8000

Android Emulator:

http://10.0.2.2:8000

Điện thoại thật cùng WiFi:

http://IP_LAN_CUA_MAY_TINH:8000