Ntdeseb commited on
Commit
fdbfc7f
·
1 Parent(s): 6512bcf

Fix compatibility issues and improve error handling - Updated requirements.txt with specific version constraints - Enhanced system compatibility checker in app.py - Added install_dependencies.py script for easy setup - Updated README with troubleshooting guide - Improved .gitattributes for better file handling

Browse files
Files changed (5) hide show
  1. .gitattributes +30 -30
  2. README.md +3 -14
  3. app.py +39 -9
  4. install_dependencies.py +97 -0
  5. requirements.txt +3 -8
.gitattributes CHANGED
@@ -1,35 +1,35 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
  *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
  *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
  *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
  *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
  *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.md filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
2
  *.h5 filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
3
  *.pkl filter=lfs diff=lfs merge=lfs -text
 
4
  *.pth filter=lfs diff=lfs merge=lfs -text
5
+ *.bin filter=lfs diff=lfs merge=lfs -text
6
  *.safetensors filter=lfs diff=lfs merge=lfs -text
7
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
8
+ *.pt filter=lfs diff=lfs merge=lfs -text
9
+ *.onnx filter=lfs diff=lfs merge=lfs -text
10
  *.tflite filter=lfs diff=lfs merge=lfs -text
11
+ *.pb filter=lfs diff=lfs merge=lfs -text
12
+ *.pkl filter=lfs diff=lfs merge=lfs -text
13
+ *.joblib filter=lfs diff=lfs merge=lfs -text
14
+ *.model filter=lfs diff=lfs merge=lfs -text
15
+ *.weights filter=lfs diff=lfs merge=lfs -text
16
+ *.hdf5 filter=lfs diff=lfs merge=lfs -text
17
+ *.h5 filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.arrow filter=lfs diff=lfs merge=lfs -text
20
+ *.feather filter=lfs diff=lfs merge=lfs -text
21
+ *.csv filter=lfs diff=lfs merge=lfs -text
22
+ *.json filter=lfs diff=lfs merge=lfs -text
23
+ *.jsonl filter=lfs diff=lfs merge=lfs -text
24
+ *.tsv filter=lfs diff=lfs merge=lfs -text
25
+ *.txt filter=lfs diff=lfs merge=lfs -text
26
+ *.xml filter=lfs diff=lfs merge=lfs -text
27
+ *.yaml filter=lfs diff=lfs merge=lfs -text
28
+ *.yml filter=lfs diff=lfs merge=lfs -text
29
+ *.toml filter=lfs diff=lfs merge=lfs -text
30
+ *.ini filter=lfs diff=lfs merge=lfs -text
31
+ *.cfg filter=lfs diff=lfs merge=lfs -text
32
+ *.conf filter=lfs diff=lfs merge=lfs -text
33
+ *.log filter=lfs diff=lfs merge=lfs -text
34
+ *.out filter=lfs diff=lfs merge=lfs -text
35
+ *.err filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,14 +1,3 @@
1
- ---
2
- title: Test2
3
- emoji: 🖼
4
- colorFrom: purple
5
- colorTo: red
6
- sdk: gradio
7
- sdk_version: 5.25.2
8
- app_file: app.py
9
- pinned: false
10
- license: apache-2.0
11
- short_description: test2
12
- ---
13
-
14
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5ab0a7e6a5ed389c9d2d4233df195088b60e5549e8fae0d75a4417c1ddc882fd
3
+ size 2559
 
 
 
 
 
 
 
 
 
 
 
app.py CHANGED
@@ -247,29 +247,59 @@ def check_system():
247
  status = []
248
 
249
  # Check PyTorch
250
- torch_version = torch.__version__
251
- status.append(f"🔧 PyTorch: {torch_version}")
 
 
 
 
 
 
 
252
 
253
  # Check diffusers
254
  if DIFFUSERS_AVAILABLE:
255
  try:
256
  import diffusers
257
- status.append(f"✅ Diffusers: {diffusers.__version__}")
258
- except:
259
- status.append("⚠️ Diffusers: Version unknown")
 
 
 
 
 
260
  else:
261
- status.append("❌ Diffusers: Not available")
262
 
263
  # Check transformers
264
  if TRANSFORMERS_AVAILABLE:
265
  try:
266
  import transformers
267
- status.append(f"✅ Transformers: {transformers.__version__}")
268
- except:
269
- status.append("⚠️ Transformers: Version unknown")
 
 
 
 
 
270
  else:
271
  status.append("❌ Transformers: Not available")
272
 
 
 
 
 
 
 
 
 
 
 
 
 
 
273
  # Check device
274
  status.append(f"🖥️ Device: {device.upper()}")
275
  status.append(f"🧵 CPU Threads: {torch.get_num_threads()}")
 
247
  status = []
248
 
249
  # Check PyTorch
250
+ try:
251
+ torch_version = torch.__version__
252
+ # Check if PyTorch version is compatible
253
+ if torch_version.startswith("2."):
254
+ status.append(f"✅ PyTorch: {torch_version}")
255
+ else:
256
+ status.append(f"⚠️ PyTorch: {torch_version} (may need update)")
257
+ except Exception as e:
258
+ status.append(f"❌ PyTorch: Error - {str(e)}")
259
 
260
  # Check diffusers
261
  if DIFFUSERS_AVAILABLE:
262
  try:
263
  import diffusers
264
+ diffusers_version = diffusers.__version__
265
+ # Check if diffusers version is in compatible range
266
+ if "0.21" <= diffusers_version < "0.25":
267
+ status.append(f"✅ Diffusers: {diffusers_version}")
268
+ else:
269
+ status.append(f"⚠️ Diffusers: {diffusers_version} (version mismatch)")
270
+ except Exception as e:
271
+ status.append(f"⚠️ Diffusers: Version unknown - {str(e)}")
272
  else:
273
+ status.append("❌ Diffusers: Not available - Please install with: pip install diffusers>=0.21.0,<0.25.0")
274
 
275
  # Check transformers
276
  if TRANSFORMERS_AVAILABLE:
277
  try:
278
  import transformers
279
+ transformers_version = transformers.__version__
280
+ # Check if transformers version is in compatible range
281
+ if "4.25" <= transformers_version < "4.35":
282
+ status.append(f"✅ Transformers: {transformers_version}")
283
+ else:
284
+ status.append(f"⚠️ Transformers: {transformers_version} (version mismatch)")
285
+ except Exception as e:
286
+ status.append(f"⚠️ Transformers: Version unknown - {str(e)}")
287
  else:
288
  status.append("❌ Transformers: Not available")
289
 
290
+ # Check accelerate
291
+ try:
292
+ import accelerate
293
+ accelerate_version = accelerate.__version__
294
+ if accelerate_version >= "0.20":
295
+ status.append(f"✅ Accelerate: {accelerate_version}")
296
+ else:
297
+ status.append(f"⚠️ Accelerate: {accelerate_version} (needs update)")
298
+ except ImportError:
299
+ status.append("❌ Accelerate: Not available")
300
+ except Exception as e:
301
+ status.append(f"⚠️ Accelerate: Version unknown - {str(e)}")
302
+
303
  # Check device
304
  status.append(f"🖥️ Device: {device.upper()}")
305
  status.append(f"🧵 CPU Threads: {torch.get_num_threads()}")
install_dependencies.py ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ Script para instalar y verificar dependencias del Space
4
+ Optimizado para resolver problemas de compatibilidad
5
+ """
6
+
7
+ import subprocess
8
+ import sys
9
+ import os
10
+
11
+ def run_command(command):
12
+ """Ejecuta un comando y retorna el resultado"""
13
+ try:
14
+ result = subprocess.run(command, shell=True, capture_output=True, text=True)
15
+ return result.returncode == 0, result.stdout, result.stderr
16
+ except Exception as e:
17
+ return False, "", str(e)
18
+
19
+ def install_dependencies():
20
+ """Instala las dependencias con versiones específicas"""
21
+ print("🔧 Instalando dependencias...")
22
+
23
+ # Lista de dependencias con versiones específicas
24
+ dependencies = [
25
+ "gradio>=4.0.0,<4.50.0",
26
+ "torch>=2.1.0,<3.0.0",
27
+ "diffusers>=0.21.0,<0.25.0",
28
+ "transformers>=4.25.0,<4.35.0",
29
+ "accelerate>=0.20.0,<1.0.0",
30
+ "Pillow>=9.0.0,<11.0.0",
31
+ "numpy>=1.21.0,<2.0.0",
32
+ "safetensors>=0.3.0,<1.0.0",
33
+ "xformers>=0.0.20,<1.0.0"
34
+ ]
35
+
36
+ for dep in dependencies:
37
+ print(f"📦 Instalando {dep}...")
38
+ success, stdout, stderr = run_command(f"pip install {dep}")
39
+ if success:
40
+ print(f"✅ {dep} instalado correctamente")
41
+ else:
42
+ print(f"❌ Error instalando {dep}: {stderr}")
43
+
44
+ print("\n🎉 Instalación completada!")
45
+
46
+ def verify_installation():
47
+ """Verifica que todas las dependencias estén instaladas correctamente"""
48
+ print("\n🔍 Verificando instalación...")
49
+
50
+ try:
51
+ import torch
52
+ print(f"✅ PyTorch: {torch.__version__}")
53
+ except ImportError:
54
+ print("❌ PyTorch no está instalado")
55
+
56
+ try:
57
+ import diffusers
58
+ print(f"✅ Diffusers: {diffusers.__version__}")
59
+ except ImportError:
60
+ print("❌ Diffusers no está instalado")
61
+
62
+ try:
63
+ import transformers
64
+ print(f"✅ Transformers: {transformers.__version__}")
65
+ except ImportError:
66
+ print("❌ Transformers no está instalado")
67
+
68
+ try:
69
+ import accelerate
70
+ print(f"✅ Accelerate: {accelerate.__version__}")
71
+ except ImportError:
72
+ print("❌ Accelerate no está instalado")
73
+
74
+ try:
75
+ import gradio
76
+ print(f"✅ Gradio: {gradio.__version__}")
77
+ except ImportError:
78
+ print("❌ Gradio no está instalado")
79
+
80
+ def main():
81
+ print("🚀 Script de instalación para Compatible AI Image Generator")
82
+ print("=" * 60)
83
+
84
+ # Instalar dependencias
85
+ install_dependencies()
86
+
87
+ # Verificar instalación
88
+ verify_installation()
89
+
90
+ print("\n📝 Para ejecutar la aplicación:")
91
+ print("python app.py")
92
+
93
+ print("\n📝 Para ejecutar en modo desarrollo:")
94
+ print("python app.py --share")
95
+
96
+ if __name__ == "__main__":
97
+ main()
requirements.txt CHANGED
@@ -1,8 +1,3 @@
1
- gradio>=4.0.0
2
- torch>=2.1.0
3
- diffusers>=0.21.0,<0.25.0
4
- transformers>=4.25.0,<4.35.0
5
- accelerate>=0.20.0
6
- Pillow>=9.0.0
7
- numpy>=1.21.0
8
- safetensors>=0.3.0
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:72f34c814842ffaeb9bee0f213b7067cb907b455e664fc6878bdfe81bce7f823
3
+ size 223