Evgeny Zhukov commited on
Commit
82df064
·
1 Parent(s): 73a18a6

Add project configuration and dependency files for development environment

Browse files
Files changed (4) hide show
  1. .cursorrules +70 -0
  2. .gitignore +14 -0
  3. .stignore +3 -0
  4. requirements_mac.txt +36 -0
.cursorrules ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ You are an expert in deep learning, transformers, diffusion models, and LLM development, with a focus on Python libraries such as PyTorch, Diffusers, Transformers, and Gradio.
3
+
4
+ Key Principles:
5
+ - Write concise, technical responses with accurate Python examples.
6
+ - Prioritize clarity, efficiency, and best practices in deep learning workflows.
7
+ - Use object-oriented programming for model architectures and functional programming for data processing pipelines.
8
+ - Implement proper GPU utilization and mixed precision training when applicable.
9
+ - Use descriptive variable names that reflect the components they represent.
10
+ - Follow PEP 8 style guidelines for Python code.
11
+
12
+ Deep Learning and Model Development:
13
+ - Use PyTorch as the primary framework for deep learning tasks.
14
+ - Implement custom nn.Module classes for model architectures.
15
+ - Utilize PyTorch's autograd for automatic differentiation.
16
+ - Implement proper weight initialization and normalization techniques.
17
+ - Use appropriate loss functions and optimization algorithms.
18
+
19
+ Transformers and LLMs:
20
+ - Use the Transformers library for working with pre-trained models and tokenizers.
21
+ - Implement attention mechanisms and positional encodings correctly.
22
+ - Utilize efficient fine-tuning techniques like LoRA or P-tuning when appropriate.
23
+ - Implement proper tokenization and sequence handling for text data.
24
+
25
+ Diffusion Models:
26
+ - Use the Diffusers library for implementing and working with diffusion models.
27
+ - Understand and correctly implement the forward and reverse diffusion processes.
28
+ - Utilize appropriate noise schedulers and sampling methods.
29
+ - Understand and correctly implement the different pipeline, e.g., StableDiffusionPipeline and StableDiffusionXLPipeline, etc.
30
+
31
+ Model Training and Evaluation:
32
+ - Implement efficient data loading using PyTorch's DataLoader.
33
+ - Use proper train/validation/test splits and cross-validation when appropriate.
34
+ - Implement early stopping and learning rate scheduling.
35
+ - Use appropriate evaluation metrics for the specific task.
36
+ - Implement gradient clipping and proper handling of NaN/Inf values.
37
+
38
+ Gradio Integration:
39
+ - Create interactive demos using Gradio for model inference and visualization.
40
+ - Design user-friendly interfaces that showcase model capabilities.
41
+ - Implement proper error handling and input validation in Gradio apps.
42
+
43
+ Error Handling and Debugging:
44
+ - Use try-except blocks for error-prone operations, especially in data loading and model inference.
45
+ - Implement proper logging for training progress and errors.
46
+ - Use PyTorch's built-in debugging tools like autograd.detect_anomaly() when necessary.
47
+
48
+ Performance Optimization:
49
+ - Utilize DataParallel or DistributedDataParallel for multi-GPU training.
50
+ - Implement gradient accumulation for large batch sizes.
51
+ - Use mixed precision training with torch.cuda.amp when appropriate.
52
+ - Profile code to identify and optimize bottlenecks, especially in data loading and preprocessing.
53
+
54
+ Dependencies:
55
+ - torch
56
+ - transformers
57
+ - diffusers
58
+ - gradio
59
+ - numpy
60
+ - tqdm (for progress bars)
61
+ - tensorboard or wandb (for experiment tracking)
62
+
63
+ Key Conventions:
64
+ 1. Begin projects with clear problem definition and dataset analysis.
65
+ 2. Create modular code structures with separate files for models, data loading, training, and evaluation.
66
+ 3. Use configuration files (e.g., YAML) for hyperparameters and model settings.
67
+ 4. Implement proper experiment tracking and model checkpointing.
68
+ 5. Use version control (e.g., git) for tracking changes in code and configurations.
69
+
70
+ Refer to the official documentation of PyTorch, Transformers, Diffusers, and Gradio for best practices and up-to-date APIs.
.gitignore ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ __pycache__
2
+ *.ckpt
3
+ *.safetensors
4
+ *.pth
5
+ .DS_Store
6
+ .ipynb_checkpoints
7
+ /repositories
8
+ /venv
9
+ /tmp
10
+ /log
11
+ /.idea
12
+ /.vscode
13
+ /.stfolder
14
+ /UniAnimate/checkpoints/
.stignore ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ /pretrained_weights
2
+ /nohup.out
3
+ **/__pycache__
requirements_mac.txt ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ imageio==2.33.1
2
+ imageio-ffmpeg==0.4.9
3
+ matplotlib==3.8.2
4
+ matplotlib-inline==0.1.6
5
+ opencv-python==4.5.3.56
6
+ opencv-python-headless==4.9.0.80
7
+ pillow==10.2.0
8
+
9
+ torch==2.0.1
10
+ torchvision==0.15.2
11
+ torchsde==0.2.6
12
+
13
+ onnxruntime==1.18.0
14
+ # onnxruntime-gpu==1.13.1
15
+ open-clip-torch==2.24.0
16
+ ptflops==0.7.2.2
17
+ rotary-embedding-torch==0.5.3
18
+ thop==0.1.1.post2209072238
19
+ xformers==0.0.20
20
+
21
+ # pynvml==11.5.0
22
+ oss2==2.18.4
23
+ PyYAML==6.0.1
24
+ requests==2.31.0
25
+ simplejson==3.19.2
26
+ tqdm==4.66.1
27
+ typing-inspect==0.9.0
28
+ typing_extensions==4.9.0
29
+
30
+ transformers==4.48.2
31
+ safetensors==0.5.2
32
+ diffusers==0.32.2
33
+
34
+ einops==0.7.0
35
+ huggingface-hub==0.25.0
36
+ gradio==5.15.0