Spaces:
Sleeping
Sleeping
File size: 3,505 Bytes
51fdac5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 | """
Setup Script
Creates output directories and verifies installation.
Usage:
python scripts/setup.py
"""
import sys
from pathlib import Path
# Add src to path
sys.path.insert(0, str(Path(__file__).parent.parent))
def create_directories():
"""Create required output directories"""
base_dir = Path(__file__).parent.parent
directories = [
base_dir / 'outputs',
base_dir / 'outputs' / 'checkpoints',
base_dir / 'outputs' / 'logs',
base_dir / 'outputs' / 'plots',
base_dir / 'outputs' / 'results',
base_dir / 'outputs' / 'classifier',
base_dir / 'outputs' / 'exported',
]
for directory in directories:
directory.mkdir(parents=True, exist_ok=True)
print(f"Created: {directory}")
def verify_installation():
"""Verify all required packages are installed"""
required_packages = [
('torch', 'PyTorch'),
('torchvision', 'TorchVision'),
('timm', 'TIMM'),
('lightgbm', 'LightGBM'),
('sklearn', 'Scikit-learn'),
('cv2', 'OpenCV'),
('PIL', 'Pillow'),
('numpy', 'NumPy'),
('pandas', 'Pandas'),
('matplotlib', 'Matplotlib'),
('seaborn', 'Seaborn'),
('albumentations', 'Albumentations'),
('tqdm', 'TQDM'),
('yaml', 'PyYAML'),
('pywt', 'PyWavelets'),
]
print("\nVerifying installation...")
print("-" * 40)
missing = []
for package, name in required_packages:
try:
__import__(package)
print(f" ✓ {name}")
except ImportError:
print(f" ✗ {name} (MISSING)")
missing.append(name)
# Check CUDA
print("-" * 40)
try:
import torch
if torch.cuda.is_available():
print(f" ✓ CUDA Available: {torch.cuda.get_device_name(0)}")
else:
print(" ⚠ CUDA Not Available (CPU mode)")
except Exception as e:
print(f" ✗ CUDA Check Failed: {e}")
return missing
def verify_datasets():
"""Verify dataset paths exist"""
base_dir = Path(__file__).parent.parent
datasets = {
'DocTamper': base_dir / 'datasets' / 'DocTamper',
'RTM': base_dir / 'datasets' / 'RealTextManipulation',
'CASIA': base_dir / 'datasets' / 'CASIA 1.0 dataset',
'Receipts': base_dir / 'datasets' / 'findit2',
}
print("\nVerifying datasets...")
print("-" * 40)
for name, path in datasets.items():
if path.exists():
print(f" ✓ {name}: {path}")
else:
print(f" ✗ {name}: NOT FOUND ({path})")
def main():
print("\n" + "="*60)
print("Hybrid Document Forgery Detection - Setup")
print("="*60)
# Create directories
print("\nCreating directories...")
print("-" * 40)
create_directories()
# Verify installation
missing = verify_installation()
# Verify datasets
verify_datasets()
# Summary
print("\n" + "="*60)
if missing:
print("Setup complete with WARNINGS")
print(f"Missing packages: {', '.join(missing)}")
print("Run: pip install -r requirements.txt")
else:
print("Setup Complete! All checks passed.")
print("="*60)
if __name__ == '__main__':
main()
|