chansung commited on
Commit
05da800
·
verified ·
1 Parent(s): 4bf314f

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. auto_diffusers.log +907 -0
  2. gradio_app.py +331 -29
auto_diffusers.log CHANGED
@@ -18538,3 +18538,910 @@ IMPORTANT GUIDELINES:
18538
  2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18539
  2025-06-05 01:24:20,475 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18540
  2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18538
  2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18539
  2025-06-05 01:24:20,475 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18540
  2025-06-05 01:24:20,475 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18541
+ 2025-06-11 10:50:13,595 - __main__ - INFO - Initializing GradioAutodiffusers
18542
+ 2025-06-11 10:50:13,595 - __main__ - DEBUG - API key found, length: 39
18543
+ 2025-06-11 10:50:13,595 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
18544
+ 2025-06-11 10:50:13,595 - auto_diffusers - DEBUG - API key length: 39
18545
+ 2025-06-11 10:50:13,595 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
18546
+ 2025-06-11 10:50:13,596 - hardware_detector - INFO - Initializing HardwareDetector
18547
+ 2025-06-11 10:50:13,596 - hardware_detector - DEBUG - Starting system hardware detection
18548
+ 2025-06-11 10:50:13,596 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18549
+ 2025-06-11 10:50:13,596 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18550
+ 2025-06-11 10:50:13,596 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18551
+ 2025-06-11 10:50:13,599 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18552
+ 2025-06-11 10:50:13,599 - hardware_detector - DEBUG - Checking PyTorch availability
18553
+ 2025-06-11 10:50:15,597 - hardware_detector - INFO - PyTorch 2.7.0 detected
18554
+ 2025-06-11 10:50:15,597 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18555
+ 2025-06-11 10:50:15,597 - hardware_detector - INFO - Hardware detection completed successfully
18556
+ 2025-06-11 10:50:15,597 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18557
+ 2025-06-11 10:50:15,597 - auto_diffusers - INFO - Hardware detector initialized successfully
18558
+ 2025-06-11 10:50:15,597 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
18559
+ 2025-06-11 10:50:15,597 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
18560
+ 2025-06-11 10:50:15,597 - simple_memory_calculator - DEBUG - HuggingFace API initialized
18561
+ 2025-06-11 10:50:15,597 - simple_memory_calculator - DEBUG - Known models in database: 4
18562
+ 2025-06-11 10:50:15,597 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
18563
+ 2025-06-11 10:50:15,597 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
18564
+ 2025-06-11 10:50:15,599 - asyncio - DEBUG - Using selector: KqueueSelector
18565
+ 2025-06-11 10:50:15,611 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
18566
+ 2025-06-11 10:50:15,620 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18567
+ 2025-06-11 10:50:15,847 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x140ba7210>
18568
+ 2025-06-11 10:50:15,847 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x140aa1eb0> server_hostname='api.gradio.app' timeout=3
18569
+ 2025-06-11 10:50:15,853 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
18570
+ 2025-06-11 10:50:16,123 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x140d913d0>
18571
+ 2025-06-11 10:50:16,123 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18572
+ 2025-06-11 10:50:16,124 - httpcore.http11 - DEBUG - send_request_headers.complete
18573
+ 2025-06-11 10:50:16,124 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18574
+ 2025-06-11 10:50:16,124 - httpcore.http11 - DEBUG - send_request_body.complete
18575
+ 2025-06-11 10:50:16,125 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18576
+ 2025-06-11 10:50:16,263 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 01:50:16 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
18577
+ 2025-06-11 10:50:16,263 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
18578
+ 2025-06-11 10:50:16,264 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18579
+ 2025-06-11 10:50:16,264 - httpcore.http11 - DEBUG - receive_response_body.complete
18580
+ 2025-06-11 10:50:16,264 - httpcore.http11 - DEBUG - response_closed.started
18581
+ 2025-06-11 10:50:16,264 - httpcore.http11 - DEBUG - response_closed.complete
18582
+ 2025-06-11 10:50:16,264 - httpcore.connection - DEBUG - close.started
18583
+ 2025-06-11 10:50:16,265 - httpcore.connection - DEBUG - close.complete
18584
+ 2025-06-11 10:51:30,295 - __main__ - INFO - Initializing GradioAutodiffusers
18585
+ 2025-06-11 10:51:30,295 - __main__ - DEBUG - API key found, length: 39
18586
+ 2025-06-11 10:51:30,295 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
18587
+ 2025-06-11 10:51:30,296 - auto_diffusers - DEBUG - API key length: 39
18588
+ 2025-06-11 10:51:30,296 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
18589
+ 2025-06-11 10:51:30,296 - hardware_detector - INFO - Initializing HardwareDetector
18590
+ 2025-06-11 10:51:30,296 - hardware_detector - DEBUG - Starting system hardware detection
18591
+ 2025-06-11 10:51:30,296 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18592
+ 2025-06-11 10:51:30,296 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18593
+ 2025-06-11 10:51:30,296 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18594
+ 2025-06-11 10:51:30,299 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18595
+ 2025-06-11 10:51:30,299 - hardware_detector - DEBUG - Checking PyTorch availability
18596
+ 2025-06-11 10:51:30,748 - hardware_detector - INFO - PyTorch 2.7.0 detected
18597
+ 2025-06-11 10:51:30,748 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18598
+ 2025-06-11 10:51:30,749 - hardware_detector - INFO - Hardware detection completed successfully
18599
+ 2025-06-11 10:51:30,749 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18600
+ 2025-06-11 10:51:30,749 - auto_diffusers - INFO - Hardware detector initialized successfully
18601
+ 2025-06-11 10:51:30,749 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
18602
+ 2025-06-11 10:51:30,749 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
18603
+ 2025-06-11 10:51:30,749 - simple_memory_calculator - DEBUG - HuggingFace API initialized
18604
+ 2025-06-11 10:51:30,749 - simple_memory_calculator - DEBUG - Known models in database: 4
18605
+ 2025-06-11 10:51:30,749 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
18606
+ 2025-06-11 10:51:30,749 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
18607
+ 2025-06-11 10:51:30,751 - asyncio - DEBUG - Using selector: KqueueSelector
18608
+ 2025-06-11 10:51:30,764 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
18609
+ 2025-06-11 10:51:30,771 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18610
+ 2025-06-11 10:51:30,850 - asyncio - DEBUG - Using selector: KqueueSelector
18611
+ 2025-06-11 10:51:30,883 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
18612
+ 2025-06-11 10:51:30,884 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x119eae950>
18613
+ 2025-06-11 10:51:30,884 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18614
+ 2025-06-11 10:51:30,884 - httpcore.http11 - DEBUG - send_request_headers.complete
18615
+ 2025-06-11 10:51:30,884 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18616
+ 2025-06-11 10:51:30,884 - httpcore.http11 - DEBUG - send_request_body.complete
18617
+ 2025-06-11 10:51:30,885 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18618
+ 2025-06-11 10:51:30,885 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 01:51:30 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
18619
+ 2025-06-11 10:51:30,885 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
18620
+ 2025-06-11 10:51:30,885 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18621
+ 2025-06-11 10:51:30,885 - httpcore.http11 - DEBUG - receive_response_body.complete
18622
+ 2025-06-11 10:51:30,885 - httpcore.http11 - DEBUG - response_closed.started
18623
+ 2025-06-11 10:51:30,885 - httpcore.http11 - DEBUG - response_closed.complete
18624
+ 2025-06-11 10:51:30,885 - httpcore.connection - DEBUG - close.started
18625
+ 2025-06-11 10:51:30,885 - httpcore.connection - DEBUG - close.complete
18626
+ 2025-06-11 10:51:30,886 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
18627
+ 2025-06-11 10:51:30,886 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11fb5e210>
18628
+ 2025-06-11 10:51:30,886 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
18629
+ 2025-06-11 10:51:30,886 - httpcore.http11 - DEBUG - send_request_headers.complete
18630
+ 2025-06-11 10:51:30,886 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
18631
+ 2025-06-11 10:51:30,886 - httpcore.http11 - DEBUG - send_request_body.complete
18632
+ 2025-06-11 10:51:30,886 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
18633
+ 2025-06-11 10:51:30,894 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 01:51:30 GMT'), (b'server', b'uvicorn'), (b'content-length', b'138668'), (b'content-type', b'text/html; charset=utf-8')])
18634
+ 2025-06-11 10:51:30,894 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
18635
+ 2025-06-11 10:51:30,894 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
18636
+ 2025-06-11 10:51:30,894 - httpcore.http11 - DEBUG - receive_response_body.complete
18637
+ 2025-06-11 10:51:30,894 - httpcore.http11 - DEBUG - response_closed.started
18638
+ 2025-06-11 10:51:30,894 - httpcore.http11 - DEBUG - response_closed.complete
18639
+ 2025-06-11 10:51:30,894 - httpcore.connection - DEBUG - close.started
18640
+ 2025-06-11 10:51:30,894 - httpcore.connection - DEBUG - close.complete
18641
+ 2025-06-11 10:51:30,906 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
18642
+ 2025-06-11 10:51:30,915 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x119317990>
18643
+ 2025-06-11 10:51:30,915 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x111d311c0> server_hostname='api.gradio.app' timeout=3
18644
+ 2025-06-11 10:51:31,035 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
18645
+ 2025-06-11 10:51:31,064 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x119c67f90>
18646
+ 2025-06-11 10:51:31,064 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x11fae7f50> server_hostname='api.gradio.app' timeout=30
18647
+ 2025-06-11 10:51:31,200 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11a1284d0>
18648
+ 2025-06-11 10:51:31,201 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18649
+ 2025-06-11 10:51:31,201 - httpcore.http11 - DEBUG - send_request_headers.complete
18650
+ 2025-06-11 10:51:31,201 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18651
+ 2025-06-11 10:51:31,202 - httpcore.http11 - DEBUG - send_request_body.complete
18652
+ 2025-06-11 10:51:31,202 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18653
+ 2025-06-11 10:51:31,345 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 01:51:31 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
18654
+ 2025-06-11 10:51:31,346 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
18655
+ 2025-06-11 10:51:31,346 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18656
+ 2025-06-11 10:51:31,346 - httpcore.http11 - DEBUG - receive_response_body.complete
18657
+ 2025-06-11 10:51:31,346 - httpcore.http11 - DEBUG - response_closed.started
18658
+ 2025-06-11 10:51:31,346 - httpcore.http11 - DEBUG - response_closed.complete
18659
+ 2025-06-11 10:51:31,347 - httpcore.connection - DEBUG - close.started
18660
+ 2025-06-11 10:51:31,347 - httpcore.connection - DEBUG - close.complete
18661
+ 2025-06-11 10:51:31,382 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x1198c9010>
18662
+ 2025-06-11 10:51:31,382 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18663
+ 2025-06-11 10:51:31,383 - httpcore.http11 - DEBUG - send_request_headers.complete
18664
+ 2025-06-11 10:51:31,383 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18665
+ 2025-06-11 10:51:31,383 - httpcore.http11 - DEBUG - send_request_body.complete
18666
+ 2025-06-11 10:51:31,383 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18667
+ 2025-06-11 10:51:31,544 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 01:51:31 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
18668
+ 2025-06-11 10:51:31,544 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
18669
+ 2025-06-11 10:51:31,545 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18670
+ 2025-06-11 10:51:31,545 - httpcore.http11 - DEBUG - receive_response_body.complete
18671
+ 2025-06-11 10:51:31,545 - httpcore.http11 - DEBUG - response_closed.started
18672
+ 2025-06-11 10:51:31,546 - httpcore.http11 - DEBUG - response_closed.complete
18673
+ 2025-06-11 10:51:31,546 - httpcore.connection - DEBUG - close.started
18674
+ 2025-06-11 10:51:31,546 - httpcore.connection - DEBUG - close.complete
18675
+ 2025-06-11 10:51:32,314 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18676
+ 2025-06-11 10:51:32,526 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
18677
+ 2025-06-11 10:51:41,746 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18678
+ 2025-06-11 10:51:41,746 - hardware_detector - INFO - Initializing HardwareDetector
18679
+ 2025-06-11 10:51:41,746 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
18680
+ 2025-06-11 10:51:41,746 - hardware_detector - DEBUG - Starting system hardware detection
18681
+ 2025-06-11 10:51:41,747 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
18682
+ 2025-06-11 10:51:41,747 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18683
+ 2025-06-11 10:51:41,747 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
18684
+ 2025-06-11 10:51:41,747 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18685
+ 2025-06-11 10:51:41,747 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18686
+ 2025-06-11 10:51:41,747 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18687
+ 2025-06-11 10:51:41,747 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18688
+ 2025-06-11 10:51:41,747 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18689
+ 2025-06-11 10:51:41,748 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18690
+ 2025-06-11 10:51:41,748 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18691
+ 2025-06-11 10:51:41,754 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18692
+ 2025-06-11 10:51:41,755 - hardware_detector - DEBUG - Checking PyTorch availability
18693
+ 2025-06-11 10:51:41,755 - hardware_detector - INFO - PyTorch 2.7.0 detected
18694
+ 2025-06-11 10:51:41,755 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18695
+ 2025-06-11 10:51:41,755 - hardware_detector - INFO - Hardware detection completed successfully
18696
+ 2025-06-11 10:51:41,755 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18697
+ 2025-06-11 10:58:51,900 - __main__ - INFO - Initializing GradioAutodiffusers
18698
+ 2025-06-11 10:58:51,900 - __main__ - DEBUG - API key found, length: 39
18699
+ 2025-06-11 10:58:51,900 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
18700
+ 2025-06-11 10:58:51,900 - auto_diffusers - DEBUG - API key length: 39
18701
+ 2025-06-11 10:58:51,900 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
18702
+ 2025-06-11 10:58:51,900 - hardware_detector - INFO - Initializing HardwareDetector
18703
+ 2025-06-11 10:58:51,900 - hardware_detector - DEBUG - Starting system hardware detection
18704
+ 2025-06-11 10:58:51,900 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18705
+ 2025-06-11 10:58:51,900 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18706
+ 2025-06-11 10:58:51,900 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18707
+ 2025-06-11 10:58:51,904 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18708
+ 2025-06-11 10:58:51,904 - hardware_detector - DEBUG - Checking PyTorch availability
18709
+ 2025-06-11 10:58:52,365 - hardware_detector - INFO - PyTorch 2.7.0 detected
18710
+ 2025-06-11 10:58:52,365 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18711
+ 2025-06-11 10:58:52,365 - hardware_detector - INFO - Hardware detection completed successfully
18712
+ 2025-06-11 10:58:52,365 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18713
+ 2025-06-11 10:58:52,365 - auto_diffusers - INFO - Hardware detector initialized successfully
18714
+ 2025-06-11 10:58:52,365 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
18715
+ 2025-06-11 10:58:52,365 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
18716
+ 2025-06-11 10:58:52,365 - simple_memory_calculator - DEBUG - HuggingFace API initialized
18717
+ 2025-06-11 10:58:52,365 - simple_memory_calculator - DEBUG - Known models in database: 4
18718
+ 2025-06-11 10:58:52,365 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
18719
+ 2025-06-11 10:58:52,365 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
18720
+ 2025-06-11 10:58:52,368 - asyncio - DEBUG - Using selector: KqueueSelector
18721
+ 2025-06-11 10:58:52,381 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
18722
+ 2025-06-11 10:58:52,388 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18723
+ 2025-06-11 10:58:52,468 - asyncio - DEBUG - Using selector: KqueueSelector
18724
+ 2025-06-11 10:58:52,500 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
18725
+ 2025-06-11 10:58:52,501 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11979ae90>
18726
+ 2025-06-11 10:58:52,501 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18727
+ 2025-06-11 10:58:52,501 - httpcore.http11 - DEBUG - send_request_headers.complete
18728
+ 2025-06-11 10:58:52,501 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18729
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - send_request_body.complete
18730
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18731
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 01:58:52 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
18732
+ 2025-06-11 10:58:52,502 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
18733
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18734
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - receive_response_body.complete
18735
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - response_closed.started
18736
+ 2025-06-11 10:58:52,502 - httpcore.http11 - DEBUG - response_closed.complete
18737
+ 2025-06-11 10:58:52,502 - httpcore.connection - DEBUG - close.started
18738
+ 2025-06-11 10:58:52,502 - httpcore.connection - DEBUG - close.complete
18739
+ 2025-06-11 10:58:52,503 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
18740
+ 2025-06-11 10:58:52,503 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11e0c3990>
18741
+ 2025-06-11 10:58:52,503 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
18742
+ 2025-06-11 10:58:52,503 - httpcore.http11 - DEBUG - send_request_headers.complete
18743
+ 2025-06-11 10:58:52,503 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
18744
+ 2025-06-11 10:58:52,503 - httpcore.http11 - DEBUG - send_request_body.complete
18745
+ 2025-06-11 10:58:52,503 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
18746
+ 2025-06-11 10:58:52,510 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 01:58:52 GMT'), (b'server', b'uvicorn'), (b'content-length', b'145792'), (b'content-type', b'text/html; charset=utf-8')])
18747
+ 2025-06-11 10:58:52,510 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
18748
+ 2025-06-11 10:58:52,510 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
18749
+ 2025-06-11 10:58:52,510 - httpcore.http11 - DEBUG - receive_response_body.complete
18750
+ 2025-06-11 10:58:52,510 - httpcore.http11 - DEBUG - response_closed.started
18751
+ 2025-06-11 10:58:52,511 - httpcore.http11 - DEBUG - response_closed.complete
18752
+ 2025-06-11 10:58:52,511 - httpcore.connection - DEBUG - close.started
18753
+ 2025-06-11 10:58:52,511 - httpcore.connection - DEBUG - close.complete
18754
+ 2025-06-11 10:58:52,522 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
18755
+ 2025-06-11 10:58:52,627 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x119093c50>
18756
+ 2025-06-11 10:58:52,627 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x107d31370> server_hostname='api.gradio.app' timeout=3
18757
+ 2025-06-11 10:58:52,662 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11e139450>
18758
+ 2025-06-11 10:58:52,662 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x11e0c8a70> server_hostname='api.gradio.app' timeout=30
18759
+ 2025-06-11 10:58:52,671 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
18760
+ 2025-06-11 10:58:52,933 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11956d810>
18761
+ 2025-06-11 10:58:52,933 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18762
+ 2025-06-11 10:58:52,933 - httpcore.http11 - DEBUG - send_request_headers.complete
18763
+ 2025-06-11 10:58:52,933 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18764
+ 2025-06-11 10:58:52,933 - httpcore.http11 - DEBUG - send_request_body.complete
18765
+ 2025-06-11 10:58:52,933 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18766
+ 2025-06-11 10:58:52,944 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x118fc5fd0>
18767
+ 2025-06-11 10:58:52,944 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18768
+ 2025-06-11 10:58:52,944 - httpcore.http11 - DEBUG - send_request_headers.complete
18769
+ 2025-06-11 10:58:52,944 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18770
+ 2025-06-11 10:58:52,944 - httpcore.http11 - DEBUG - send_request_body.complete
18771
+ 2025-06-11 10:58:52,945 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18772
+ 2025-06-11 10:58:53,082 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 01:58:53 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
18773
+ 2025-06-11 10:58:53,082 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
18774
+ 2025-06-11 10:58:53,083 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18775
+ 2025-06-11 10:58:53,083 - httpcore.http11 - DEBUG - receive_response_body.complete
18776
+ 2025-06-11 10:58:53,083 - httpcore.http11 - DEBUG - response_closed.started
18777
+ 2025-06-11 10:58:53,083 - httpcore.http11 - DEBUG - response_closed.complete
18778
+ 2025-06-11 10:58:53,083 - httpcore.connection - DEBUG - close.started
18779
+ 2025-06-11 10:58:53,084 - httpcore.connection - DEBUG - close.complete
18780
+ 2025-06-11 10:58:53,087 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 01:58:53 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
18781
+ 2025-06-11 10:58:53,087 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
18782
+ 2025-06-11 10:58:53,088 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18783
+ 2025-06-11 10:58:53,089 - httpcore.http11 - DEBUG - receive_response_body.complete
18784
+ 2025-06-11 10:58:53,089 - httpcore.http11 - DEBUG - response_closed.started
18785
+ 2025-06-11 10:58:53,089 - httpcore.http11 - DEBUG - response_closed.complete
18786
+ 2025-06-11 10:58:53,089 - httpcore.connection - DEBUG - close.started
18787
+ 2025-06-11 10:58:53,090 - httpcore.connection - DEBUG - close.complete
18788
+ 2025-06-11 10:58:53,778 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18789
+ 2025-06-11 10:58:54,003 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
18790
+ 2025-06-11 10:58:59,726 - hardware_detector - INFO - Initializing HardwareDetector
18791
+ 2025-06-11 10:58:59,726 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18792
+ 2025-06-11 10:58:59,727 - hardware_detector - DEBUG - Starting system hardware detection
18793
+ 2025-06-11 10:58:59,727 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
18794
+ 2025-06-11 10:58:59,727 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18795
+ 2025-06-11 10:58:59,727 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
18796
+ 2025-06-11 10:58:59,727 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18797
+ 2025-06-11 10:58:59,727 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
18798
+ 2025-06-11 10:58:59,727 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18799
+ 2025-06-11 10:58:59,727 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18800
+ 2025-06-11 10:58:59,727 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18801
+ 2025-06-11 10:58:59,727 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18802
+ 2025-06-11 10:58:59,731 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18803
+ 2025-06-11 10:58:59,732 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18804
+ 2025-06-11 10:58:59,734 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18805
+ 2025-06-11 10:58:59,734 - hardware_detector - DEBUG - Checking PyTorch availability
18806
+ 2025-06-11 10:58:59,734 - hardware_detector - INFO - PyTorch 2.7.0 detected
18807
+ 2025-06-11 10:58:59,734 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18808
+ 2025-06-11 10:58:59,734 - hardware_detector - INFO - Hardware detection completed successfully
18809
+ 2025-06-11 10:58:59,734 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18810
+ 2025-06-11 10:59:29,945 - hardware_detector - INFO - Initializing HardwareDetector
18811
+ 2025-06-11 10:59:29,946 - hardware_detector - DEBUG - Starting system hardware detection
18812
+ 2025-06-11 10:59:29,946 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18813
+ 2025-06-11 10:59:29,946 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18814
+ 2025-06-11 10:59:29,946 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18815
+ 2025-06-11 10:59:29,955 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18816
+ 2025-06-11 10:59:29,956 - hardware_detector - DEBUG - Checking PyTorch availability
18817
+ 2025-06-11 10:59:29,956 - hardware_detector - INFO - PyTorch 2.7.0 detected
18818
+ 2025-06-11 10:59:29,956 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18819
+ 2025-06-11 10:59:29,956 - hardware_detector - INFO - Hardware detection completed successfully
18820
+ 2025-06-11 10:59:29,956 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18821
+ 2025-06-11 11:02:06,705 - __main__ - INFO - Initializing GradioAutodiffusers
18822
+ 2025-06-11 11:02:06,705 - __main__ - DEBUG - API key found, length: 39
18823
+ 2025-06-11 11:02:06,705 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
18824
+ 2025-06-11 11:02:06,705 - auto_diffusers - DEBUG - API key length: 39
18825
+ 2025-06-11 11:02:06,705 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
18826
+ 2025-06-11 11:02:06,705 - hardware_detector - INFO - Initializing HardwareDetector
18827
+ 2025-06-11 11:02:06,705 - hardware_detector - DEBUG - Starting system hardware detection
18828
+ 2025-06-11 11:02:06,705 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18829
+ 2025-06-11 11:02:06,705 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18830
+ 2025-06-11 11:02:06,705 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18831
+ 2025-06-11 11:02:06,708 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18832
+ 2025-06-11 11:02:06,708 - hardware_detector - DEBUG - Checking PyTorch availability
18833
+ 2025-06-11 11:02:07,162 - hardware_detector - INFO - PyTorch 2.7.0 detected
18834
+ 2025-06-11 11:02:07,162 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18835
+ 2025-06-11 11:02:07,162 - hardware_detector - INFO - Hardware detection completed successfully
18836
+ 2025-06-11 11:02:07,162 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18837
+ 2025-06-11 11:02:07,162 - auto_diffusers - INFO - Hardware detector initialized successfully
18838
+ 2025-06-11 11:02:07,162 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
18839
+ 2025-06-11 11:02:07,162 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
18840
+ 2025-06-11 11:02:07,162 - simple_memory_calculator - DEBUG - HuggingFace API initialized
18841
+ 2025-06-11 11:02:07,162 - simple_memory_calculator - DEBUG - Known models in database: 4
18842
+ 2025-06-11 11:02:07,162 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
18843
+ 2025-06-11 11:02:07,162 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
18844
+ 2025-06-11 11:02:07,164 - asyncio - DEBUG - Using selector: KqueueSelector
18845
+ 2025-06-11 11:02:07,177 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
18846
+ 2025-06-11 11:02:07,184 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18847
+ 2025-06-11 11:02:07,259 - asyncio - DEBUG - Using selector: KqueueSelector
18848
+ 2025-06-11 11:02:07,291 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
18849
+ 2025-06-11 11:02:07,292 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12cca70d0>
18850
+ 2025-06-11 11:02:07,292 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18851
+ 2025-06-11 11:02:07,292 - httpcore.http11 - DEBUG - send_request_headers.complete
18852
+ 2025-06-11 11:02:07,292 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18853
+ 2025-06-11 11:02:07,292 - httpcore.http11 - DEBUG - send_request_body.complete
18854
+ 2025-06-11 11:02:07,292 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18855
+ 2025-06-11 11:02:07,293 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:02:07 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
18856
+ 2025-06-11 11:02:07,293 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
18857
+ 2025-06-11 11:02:07,293 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18858
+ 2025-06-11 11:02:07,293 - httpcore.http11 - DEBUG - receive_response_body.complete
18859
+ 2025-06-11 11:02:07,293 - httpcore.http11 - DEBUG - response_closed.started
18860
+ 2025-06-11 11:02:07,293 - httpcore.http11 - DEBUG - response_closed.complete
18861
+ 2025-06-11 11:02:07,293 - httpcore.connection - DEBUG - close.started
18862
+ 2025-06-11 11:02:07,293 - httpcore.connection - DEBUG - close.complete
18863
+ 2025-06-11 11:02:07,293 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
18864
+ 2025-06-11 11:02:07,294 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12f9793d0>
18865
+ 2025-06-11 11:02:07,294 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
18866
+ 2025-06-11 11:02:07,294 - httpcore.http11 - DEBUG - send_request_headers.complete
18867
+ 2025-06-11 11:02:07,294 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
18868
+ 2025-06-11 11:02:07,294 - httpcore.http11 - DEBUG - send_request_body.complete
18869
+ 2025-06-11 11:02:07,294 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
18870
+ 2025-06-11 11:02:07,301 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:02:07 GMT'), (b'server', b'uvicorn'), (b'content-length', b'145791'), (b'content-type', b'text/html; charset=utf-8')])
18871
+ 2025-06-11 11:02:07,301 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
18872
+ 2025-06-11 11:02:07,302 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
18873
+ 2025-06-11 11:02:07,302 - httpcore.http11 - DEBUG - receive_response_body.complete
18874
+ 2025-06-11 11:02:07,302 - httpcore.http11 - DEBUG - response_closed.started
18875
+ 2025-06-11 11:02:07,302 - httpcore.http11 - DEBUG - response_closed.complete
18876
+ 2025-06-11 11:02:07,302 - httpcore.connection - DEBUG - close.started
18877
+ 2025-06-11 11:02:07,302 - httpcore.connection - DEBUG - close.complete
18878
+ 2025-06-11 11:02:07,313 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
18879
+ 2025-06-11 11:02:07,341 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12d6ce890>
18880
+ 2025-06-11 11:02:07,341 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x12d5aa8d0> server_hostname='api.gradio.app' timeout=3
18881
+ 2025-06-11 11:02:07,459 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
18882
+ 2025-06-11 11:02:07,459 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12cf2e010>
18883
+ 2025-06-11 11:02:07,459 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x12f96cb00> server_hostname='api.gradio.app' timeout=30
18884
+ 2025-06-11 11:02:07,614 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12f877590>
18885
+ 2025-06-11 11:02:07,615 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18886
+ 2025-06-11 11:02:07,615 - httpcore.http11 - DEBUG - send_request_headers.complete
18887
+ 2025-06-11 11:02:07,616 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18888
+ 2025-06-11 11:02:07,616 - httpcore.http11 - DEBUG - send_request_body.complete
18889
+ 2025-06-11 11:02:07,616 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18890
+ 2025-06-11 11:02:07,752 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:02:07 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
18891
+ 2025-06-11 11:02:07,753 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
18892
+ 2025-06-11 11:02:07,753 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18893
+ 2025-06-11 11:02:07,753 - httpcore.http11 - DEBUG - receive_response_body.complete
18894
+ 2025-06-11 11:02:07,753 - httpcore.http11 - DEBUG - response_closed.started
18895
+ 2025-06-11 11:02:07,753 - httpcore.http11 - DEBUG - response_closed.complete
18896
+ 2025-06-11 11:02:07,753 - httpcore.connection - DEBUG - close.started
18897
+ 2025-06-11 11:02:07,753 - httpcore.connection - DEBUG - close.complete
18898
+ 2025-06-11 11:02:07,761 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11b064750>
18899
+ 2025-06-11 11:02:07,761 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18900
+ 2025-06-11 11:02:07,761 - httpcore.http11 - DEBUG - send_request_headers.complete
18901
+ 2025-06-11 11:02:07,761 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18902
+ 2025-06-11 11:02:07,761 - httpcore.http11 - DEBUG - send_request_body.complete
18903
+ 2025-06-11 11:02:07,761 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18904
+ 2025-06-11 11:02:07,910 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:02:07 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
18905
+ 2025-06-11 11:02:07,910 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
18906
+ 2025-06-11 11:02:07,910 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18907
+ 2025-06-11 11:02:07,910 - httpcore.http11 - DEBUG - receive_response_body.complete
18908
+ 2025-06-11 11:02:07,910 - httpcore.http11 - DEBUG - response_closed.started
18909
+ 2025-06-11 11:02:07,910 - httpcore.http11 - DEBUG - response_closed.complete
18910
+ 2025-06-11 11:02:07,910 - httpcore.connection - DEBUG - close.started
18911
+ 2025-06-11 11:02:07,910 - httpcore.connection - DEBUG - close.complete
18912
+ 2025-06-11 11:02:08,533 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18913
+ 2025-06-11 11:02:08,757 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
18914
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18915
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
18916
+ 2025-06-11 11:02:13,522 - hardware_detector - INFO - Initializing HardwareDetector
18917
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
18918
+ 2025-06-11 11:02:13,522 - hardware_detector - DEBUG - Starting system hardware detection
18919
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
18920
+ 2025-06-11 11:02:13,522 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18921
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18922
+ 2025-06-11 11:02:13,522 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18923
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18924
+ 2025-06-11 11:02:13,522 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18925
+ 2025-06-11 11:02:13,522 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
18926
+ 2025-06-11 11:02:13,523 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
18927
+ 2025-06-11 11:02:13,523 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
18928
+ 2025-06-11 11:02:13,528 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18929
+ 2025-06-11 11:02:13,529 - hardware_detector - DEBUG - Checking PyTorch availability
18930
+ 2025-06-11 11:02:13,529 - hardware_detector - INFO - PyTorch 2.7.0 detected
18931
+ 2025-06-11 11:02:13,529 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18932
+ 2025-06-11 11:02:13,529 - hardware_detector - INFO - Hardware detection completed successfully
18933
+ 2025-06-11 11:02:13,529 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18934
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: Full detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18935
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: Platform: Darwin
18936
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: Architecture: arm64
18937
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: MPS Available: True
18938
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: Is Apple Silicon: True
18939
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: GPU Info: None
18940
+ 2025-06-11 11:02:13,529 - __main__ - INFO - 🔍 DEBUG: Detected RAM (GB): 16
18941
+ 2025-06-11 11:02:13,783 - __main__ - INFO - 🔍 DEBUG: PSUtil detected 128GB unified memory
18942
+ 2025-06-11 11:02:13,878 - __main__ - INFO - 🔍 DEBUG: System profiler output: hardware:
18943
+
18944
+ hardware overview:
18945
+
18946
+ model name: macbook pro
18947
+ model identifier: mac16,5
18948
+ model number: z1fs0002mkh/a
18949
+ chip: apple m4 max
18950
+ total number of cores: 16 (12 performance and 4 efficiency)
18951
+ memory: 128 gb
18952
+ system firmware version: 11881.61.3
18953
+ os loader version: 11881.61.3
18954
+ serial number (system): kkvqcmx4dt
18955
+ hardware uuid: 92bfa67e-d816-5b1d-99bb-f9a2824999ba
18956
+ provisioning udid: 00006041-001269200280801c
18957
+ activation lock status: enabled
18958
+
18959
+
18960
+ 2025-06-11 11:02:13,878 - __main__ - INFO - 🔍 DEBUG: Detected Apple chip: M4 Max
18961
+ 2025-06-11 11:02:13,878 - __main__ - INFO - 🔍 DEBUG: Final values - Platform: Apple Silicon, GPU Vendor: Apple Silicon, GPU Name: M4 Max, Unified RAM: 128GB
18962
+ 2025-06-11 11:04:13,169 - __main__ - INFO - Initializing GradioAutodiffusers
18963
+ 2025-06-11 11:04:13,169 - __main__ - DEBUG - API key found, length: 39
18964
+ 2025-06-11 11:04:13,169 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
18965
+ 2025-06-11 11:04:13,169 - auto_diffusers - DEBUG - API key length: 39
18966
+ 2025-06-11 11:04:13,169 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
18967
+ 2025-06-11 11:04:13,169 - hardware_detector - INFO - Initializing HardwareDetector
18968
+ 2025-06-11 11:04:13,169 - hardware_detector - DEBUG - Starting system hardware detection
18969
+ 2025-06-11 11:04:13,169 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
18970
+ 2025-06-11 11:04:13,169 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
18971
+ 2025-06-11 11:04:13,169 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
18972
+ 2025-06-11 11:04:13,173 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
18973
+ 2025-06-11 11:04:13,173 - hardware_detector - DEBUG - Checking PyTorch availability
18974
+ 2025-06-11 11:04:13,635 - hardware_detector - INFO - PyTorch 2.7.0 detected
18975
+ 2025-06-11 11:04:13,635 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
18976
+ 2025-06-11 11:04:13,636 - hardware_detector - INFO - Hardware detection completed successfully
18977
+ 2025-06-11 11:04:13,636 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
18978
+ 2025-06-11 11:04:13,636 - auto_diffusers - INFO - Hardware detector initialized successfully
18979
+ 2025-06-11 11:04:13,636 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
18980
+ 2025-06-11 11:04:13,636 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
18981
+ 2025-06-11 11:04:13,636 - simple_memory_calculator - DEBUG - HuggingFace API initialized
18982
+ 2025-06-11 11:04:13,636 - simple_memory_calculator - DEBUG - Known models in database: 4
18983
+ 2025-06-11 11:04:13,636 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
18984
+ 2025-06-11 11:04:13,636 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
18985
+ 2025-06-11 11:04:13,638 - asyncio - DEBUG - Using selector: KqueueSelector
18986
+ 2025-06-11 11:04:13,652 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
18987
+ 2025-06-11 11:04:13,657 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
18988
+ 2025-06-11 11:04:13,732 - asyncio - DEBUG - Using selector: KqueueSelector
18989
+ 2025-06-11 11:04:13,765 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
18990
+ 2025-06-11 11:04:13,766 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11f95aed0>
18991
+ 2025-06-11 11:04:13,766 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
18992
+ 2025-06-11 11:04:13,766 - httpcore.http11 - DEBUG - send_request_headers.complete
18993
+ 2025-06-11 11:04:13,766 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
18994
+ 2025-06-11 11:04:13,766 - httpcore.http11 - DEBUG - send_request_body.complete
18995
+ 2025-06-11 11:04:13,766 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
18996
+ 2025-06-11 11:04:13,767 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:04:13 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
18997
+ 2025-06-11 11:04:13,767 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
18998
+ 2025-06-11 11:04:13,767 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
18999
+ 2025-06-11 11:04:13,767 - httpcore.http11 - DEBUG - receive_response_body.complete
19000
+ 2025-06-11 11:04:13,767 - httpcore.http11 - DEBUG - response_closed.started
19001
+ 2025-06-11 11:04:13,767 - httpcore.http11 - DEBUG - response_closed.complete
19002
+ 2025-06-11 11:04:13,767 - httpcore.connection - DEBUG - close.started
19003
+ 2025-06-11 11:04:13,767 - httpcore.connection - DEBUG - close.complete
19004
+ 2025-06-11 11:04:13,767 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
19005
+ 2025-06-11 11:04:13,768 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11f9707d0>
19006
+ 2025-06-11 11:04:13,768 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
19007
+ 2025-06-11 11:04:13,768 - httpcore.http11 - DEBUG - send_request_headers.complete
19008
+ 2025-06-11 11:04:13,768 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
19009
+ 2025-06-11 11:04:13,768 - httpcore.http11 - DEBUG - send_request_body.complete
19010
+ 2025-06-11 11:04:13,768 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
19011
+ 2025-06-11 11:04:13,775 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:04:13 GMT'), (b'server', b'uvicorn'), (b'content-length', b'144016'), (b'content-type', b'text/html; charset=utf-8')])
19012
+ 2025-06-11 11:04:13,775 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
19013
+ 2025-06-11 11:04:13,775 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
19014
+ 2025-06-11 11:04:13,775 - httpcore.http11 - DEBUG - receive_response_body.complete
19015
+ 2025-06-11 11:04:13,775 - httpcore.http11 - DEBUG - response_closed.started
19016
+ 2025-06-11 11:04:13,775 - httpcore.http11 - DEBUG - response_closed.complete
19017
+ 2025-06-11 11:04:13,775 - httpcore.connection - DEBUG - close.started
19018
+ 2025-06-11 11:04:13,775 - httpcore.connection - DEBUG - close.complete
19019
+ 2025-06-11 11:04:13,787 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
19020
+ 2025-06-11 11:04:13,828 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11cd75e50>
19021
+ 2025-06-11 11:04:13,828 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x109d35370> server_hostname='api.gradio.app' timeout=3
19022
+ 2025-06-11 11:04:13,937 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11f9d0f90>
19023
+ 2025-06-11 11:04:13,937 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x11f960b00> server_hostname='api.gradio.app' timeout=30
19024
+ 2025-06-11 11:04:13,939 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
19025
+ 2025-06-11 11:04:14,124 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11b820d10>
19026
+ 2025-06-11 11:04:14,124 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19027
+ 2025-06-11 11:04:14,125 - httpcore.http11 - DEBUG - send_request_headers.complete
19028
+ 2025-06-11 11:04:14,125 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19029
+ 2025-06-11 11:04:14,125 - httpcore.http11 - DEBUG - send_request_body.complete
19030
+ 2025-06-11 11:04:14,126 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19031
+ 2025-06-11 11:04:14,240 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x119caf6d0>
19032
+ 2025-06-11 11:04:14,241 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19033
+ 2025-06-11 11:04:14,241 - httpcore.http11 - DEBUG - send_request_headers.complete
19034
+ 2025-06-11 11:04:14,241 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19035
+ 2025-06-11 11:04:14,241 - httpcore.http11 - DEBUG - send_request_body.complete
19036
+ 2025-06-11 11:04:14,241 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19037
+ 2025-06-11 11:04:14,272 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:04:14 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
19038
+ 2025-06-11 11:04:14,274 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
19039
+ 2025-06-11 11:04:14,275 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19040
+ 2025-06-11 11:04:14,275 - httpcore.http11 - DEBUG - receive_response_body.complete
19041
+ 2025-06-11 11:04:14,275 - httpcore.http11 - DEBUG - response_closed.started
19042
+ 2025-06-11 11:04:14,275 - httpcore.http11 - DEBUG - response_closed.complete
19043
+ 2025-06-11 11:04:14,275 - httpcore.connection - DEBUG - close.started
19044
+ 2025-06-11 11:04:14,276 - httpcore.connection - DEBUG - close.complete
19045
+ 2025-06-11 11:04:14,391 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:04:14 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
19046
+ 2025-06-11 11:04:14,391 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
19047
+ 2025-06-11 11:04:14,392 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19048
+ 2025-06-11 11:04:14,392 - httpcore.http11 - DEBUG - receive_response_body.complete
19049
+ 2025-06-11 11:04:14,392 - httpcore.http11 - DEBUG - response_closed.started
19050
+ 2025-06-11 11:04:14,392 - httpcore.http11 - DEBUG - response_closed.complete
19051
+ 2025-06-11 11:04:14,392 - httpcore.connection - DEBUG - close.started
19052
+ 2025-06-11 11:04:14,392 - httpcore.connection - DEBUG - close.complete
19053
+ 2025-06-11 11:04:14,994 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19054
+ 2025-06-11 11:04:15,564 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
19055
+ 2025-06-11 11:05:42,002 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19056
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
19057
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
19058
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
19059
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19060
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19061
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
19062
+ 2025-06-11 11:05:42,003 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19063
+ 2025-06-11 11:05:42,004 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19064
+ 2025-06-11 11:07:51,377 - __main__ - INFO - Initializing GradioAutodiffusers
19065
+ 2025-06-11 11:07:51,377 - __main__ - DEBUG - API key found, length: 39
19066
+ 2025-06-11 11:07:51,377 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
19067
+ 2025-06-11 11:07:51,377 - auto_diffusers - DEBUG - API key length: 39
19068
+ 2025-06-11 11:07:51,377 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
19069
+ 2025-06-11 11:07:51,377 - hardware_detector - INFO - Initializing HardwareDetector
19070
+ 2025-06-11 11:07:51,377 - hardware_detector - DEBUG - Starting system hardware detection
19071
+ 2025-06-11 11:07:51,377 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
19072
+ 2025-06-11 11:07:51,377 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
19073
+ 2025-06-11 11:07:51,377 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
19074
+ 2025-06-11 11:07:51,380 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
19075
+ 2025-06-11 11:07:51,381 - hardware_detector - DEBUG - Checking PyTorch availability
19076
+ 2025-06-11 11:07:51,843 - hardware_detector - INFO - PyTorch 2.7.0 detected
19077
+ 2025-06-11 11:07:51,843 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
19078
+ 2025-06-11 11:07:51,843 - hardware_detector - INFO - Hardware detection completed successfully
19079
+ 2025-06-11 11:07:51,843 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19080
+ 2025-06-11 11:07:51,843 - auto_diffusers - INFO - Hardware detector initialized successfully
19081
+ 2025-06-11 11:07:51,843 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
19082
+ 2025-06-11 11:07:51,843 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
19083
+ 2025-06-11 11:07:51,843 - simple_memory_calculator - DEBUG - HuggingFace API initialized
19084
+ 2025-06-11 11:07:51,843 - simple_memory_calculator - DEBUG - Known models in database: 4
19085
+ 2025-06-11 11:07:51,843 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
19086
+ 2025-06-11 11:07:51,843 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
19087
+ 2025-06-11 11:07:51,845 - asyncio - DEBUG - Using selector: KqueueSelector
19088
+ 2025-06-11 11:07:51,859 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
19089
+ 2025-06-11 11:07:51,859 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19090
+ 2025-06-11 11:07:51,938 - asyncio - DEBUG - Using selector: KqueueSelector
19091
+ 2025-06-11 11:07:51,968 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
19092
+ 2025-06-11 11:07:51,969 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x1266d1610>
19093
+ 2025-06-11 11:07:51,969 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19094
+ 2025-06-11 11:07:51,969 - httpcore.http11 - DEBUG - send_request_headers.complete
19095
+ 2025-06-11 11:07:51,969 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19096
+ 2025-06-11 11:07:51,969 - httpcore.http11 - DEBUG - send_request_body.complete
19097
+ 2025-06-11 11:07:51,969 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19098
+ 2025-06-11 11:07:51,970 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:07:51 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
19099
+ 2025-06-11 11:07:51,970 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
19100
+ 2025-06-11 11:07:51,970 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19101
+ 2025-06-11 11:07:51,970 - httpcore.http11 - DEBUG - receive_response_body.complete
19102
+ 2025-06-11 11:07:51,970 - httpcore.http11 - DEBUG - response_closed.started
19103
+ 2025-06-11 11:07:51,970 - httpcore.http11 - DEBUG - response_closed.complete
19104
+ 2025-06-11 11:07:51,970 - httpcore.connection - DEBUG - close.started
19105
+ 2025-06-11 11:07:51,970 - httpcore.connection - DEBUG - close.complete
19106
+ 2025-06-11 11:07:51,971 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
19107
+ 2025-06-11 11:07:51,971 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x127b5b750>
19108
+ 2025-06-11 11:07:51,971 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
19109
+ 2025-06-11 11:07:51,971 - httpcore.http11 - DEBUG - send_request_headers.complete
19110
+ 2025-06-11 11:07:51,971 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
19111
+ 2025-06-11 11:07:51,971 - httpcore.http11 - DEBUG - send_request_body.complete
19112
+ 2025-06-11 11:07:51,971 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
19113
+ 2025-06-11 11:07:51,978 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:07:51 GMT'), (b'server', b'uvicorn'), (b'content-length', b'140375'), (b'content-type', b'text/html; charset=utf-8')])
19114
+ 2025-06-11 11:07:51,978 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
19115
+ 2025-06-11 11:07:51,978 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
19116
+ 2025-06-11 11:07:51,978 - httpcore.http11 - DEBUG - receive_response_body.complete
19117
+ 2025-06-11 11:07:51,978 - httpcore.http11 - DEBUG - response_closed.started
19118
+ 2025-06-11 11:07:51,978 - httpcore.http11 - DEBUG - response_closed.complete
19119
+ 2025-06-11 11:07:51,978 - httpcore.connection - DEBUG - close.started
19120
+ 2025-06-11 11:07:51,978 - httpcore.connection - DEBUG - close.complete
19121
+ 2025-06-11 11:07:51,990 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
19122
+ 2025-06-11 11:07:52,029 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x1264bdd50>
19123
+ 2025-06-11 11:07:52,029 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x1263aa840> server_hostname='api.gradio.app' timeout=3
19124
+ 2025-06-11 11:07:52,122 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x127bd9110>
19125
+ 2025-06-11 11:07:52,122 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x127b64b00> server_hostname='api.gradio.app' timeout=30
19126
+ 2025-06-11 11:07:52,188 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
19127
+ 2025-06-11 11:07:52,325 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x125acf010>
19128
+ 2025-06-11 11:07:52,325 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19129
+ 2025-06-11 11:07:52,325 - httpcore.http11 - DEBUG - send_request_headers.complete
19130
+ 2025-06-11 11:07:52,326 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19131
+ 2025-06-11 11:07:52,326 - httpcore.http11 - DEBUG - send_request_body.complete
19132
+ 2025-06-11 11:07:52,326 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19133
+ 2025-06-11 11:07:52,388 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x125dc7210>
19134
+ 2025-06-11 11:07:52,388 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19135
+ 2025-06-11 11:07:52,389 - httpcore.http11 - DEBUG - send_request_headers.complete
19136
+ 2025-06-11 11:07:52,389 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19137
+ 2025-06-11 11:07:52,389 - httpcore.http11 - DEBUG - send_request_body.complete
19138
+ 2025-06-11 11:07:52,389 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19139
+ 2025-06-11 11:07:52,474 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:07:52 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
19140
+ 2025-06-11 11:07:52,475 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
19141
+ 2025-06-11 11:07:52,475 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19142
+ 2025-06-11 11:07:52,475 - httpcore.http11 - DEBUG - receive_response_body.complete
19143
+ 2025-06-11 11:07:52,475 - httpcore.http11 - DEBUG - response_closed.started
19144
+ 2025-06-11 11:07:52,475 - httpcore.http11 - DEBUG - response_closed.complete
19145
+ 2025-06-11 11:07:52,475 - httpcore.connection - DEBUG - close.started
19146
+ 2025-06-11 11:07:52,476 - httpcore.connection - DEBUG - close.complete
19147
+ 2025-06-11 11:07:52,524 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:07:52 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
19148
+ 2025-06-11 11:07:52,524 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
19149
+ 2025-06-11 11:07:52,524 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19150
+ 2025-06-11 11:07:52,525 - httpcore.http11 - DEBUG - receive_response_body.complete
19151
+ 2025-06-11 11:07:52,525 - httpcore.http11 - DEBUG - response_closed.started
19152
+ 2025-06-11 11:07:52,525 - httpcore.http11 - DEBUG - response_closed.complete
19153
+ 2025-06-11 11:07:52,526 - httpcore.connection - DEBUG - close.started
19154
+ 2025-06-11 11:07:52,526 - httpcore.connection - DEBUG - close.complete
19155
+ 2025-06-11 11:07:53,161 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19156
+ 2025-06-11 11:07:53,383 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
19157
+ 2025-06-11 11:07:56,235 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19158
+ 2025-06-11 11:07:56,235 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
19159
+ 2025-06-11 11:07:56,235 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
19160
+ 2025-06-11 11:07:56,235 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
19161
+ 2025-06-11 11:07:56,235 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19162
+ 2025-06-11 11:07:56,235 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19163
+ 2025-06-11 11:07:56,236 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
19164
+ 2025-06-11 11:07:56,236 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19165
+ 2025-06-11 11:07:56,236 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19166
+ 2025-06-11 11:08:06,275 - __main__ - INFO - Initializing GradioAutodiffusers
19167
+ 2025-06-11 11:08:06,275 - __main__ - DEBUG - API key found, length: 39
19168
+ 2025-06-11 11:08:06,275 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
19169
+ 2025-06-11 11:08:06,275 - auto_diffusers - DEBUG - API key length: 39
19170
+ 2025-06-11 11:08:06,275 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
19171
+ 2025-06-11 11:08:06,275 - hardware_detector - INFO - Initializing HardwareDetector
19172
+ 2025-06-11 11:08:06,275 - hardware_detector - DEBUG - Starting system hardware detection
19173
+ 2025-06-11 11:08:06,275 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
19174
+ 2025-06-11 11:08:06,275 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
19175
+ 2025-06-11 11:08:06,275 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
19176
+ 2025-06-11 11:08:06,278 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
19177
+ 2025-06-11 11:08:06,278 - hardware_detector - DEBUG - Checking PyTorch availability
19178
+ 2025-06-11 11:08:06,730 - hardware_detector - INFO - PyTorch 2.7.0 detected
19179
+ 2025-06-11 11:08:06,730 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
19180
+ 2025-06-11 11:08:06,730 - hardware_detector - INFO - Hardware detection completed successfully
19181
+ 2025-06-11 11:08:06,730 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19182
+ 2025-06-11 11:08:06,730 - auto_diffusers - INFO - Hardware detector initialized successfully
19183
+ 2025-06-11 11:08:06,730 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
19184
+ 2025-06-11 11:08:06,730 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
19185
+ 2025-06-11 11:08:06,730 - simple_memory_calculator - DEBUG - HuggingFace API initialized
19186
+ 2025-06-11 11:08:06,730 - simple_memory_calculator - DEBUG - Known models in database: 4
19187
+ 2025-06-11 11:08:06,730 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
19188
+ 2025-06-11 11:08:06,730 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
19189
+ 2025-06-11 11:08:06,732 - asyncio - DEBUG - Using selector: KqueueSelector
19190
+ 2025-06-11 11:08:06,745 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
19191
+ 2025-06-11 11:08:06,753 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19192
+ 2025-06-11 11:08:06,825 - asyncio - DEBUG - Using selector: KqueueSelector
19193
+ 2025-06-11 11:08:06,858 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
19194
+ 2025-06-11 11:08:06,858 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11a17f410>
19195
+ 2025-06-11 11:08:06,858 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19196
+ 2025-06-11 11:08:06,859 - httpcore.http11 - DEBUG - send_request_headers.complete
19197
+ 2025-06-11 11:08:06,859 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19198
+ 2025-06-11 11:08:06,859 - httpcore.http11 - DEBUG - send_request_body.complete
19199
+ 2025-06-11 11:08:06,859 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19200
+ 2025-06-11 11:08:06,859 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:08:06 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
19201
+ 2025-06-11 11:08:06,859 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
19202
+ 2025-06-11 11:08:06,859 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19203
+ 2025-06-11 11:08:06,860 - httpcore.http11 - DEBUG - receive_response_body.complete
19204
+ 2025-06-11 11:08:06,860 - httpcore.http11 - DEBUG - response_closed.started
19205
+ 2025-06-11 11:08:06,860 - httpcore.http11 - DEBUG - response_closed.complete
19206
+ 2025-06-11 11:08:06,860 - httpcore.connection - DEBUG - close.started
19207
+ 2025-06-11 11:08:06,860 - httpcore.connection - DEBUG - close.complete
19208
+ 2025-06-11 11:08:06,860 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
19209
+ 2025-06-11 11:08:06,860 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11fb5f990>
19210
+ 2025-06-11 11:08:06,860 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
19211
+ 2025-06-11 11:08:06,861 - httpcore.http11 - DEBUG - send_request_headers.complete
19212
+ 2025-06-11 11:08:06,861 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
19213
+ 2025-06-11 11:08:06,861 - httpcore.http11 - DEBUG - send_request_body.complete
19214
+ 2025-06-11 11:08:06,861 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
19215
+ 2025-06-11 11:08:06,867 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:08:06 GMT'), (b'server', b'uvicorn'), (b'content-length', b'142574'), (b'content-type', b'text/html; charset=utf-8')])
19216
+ 2025-06-11 11:08:06,868 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
19217
+ 2025-06-11 11:08:06,868 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
19218
+ 2025-06-11 11:08:06,868 - httpcore.http11 - DEBUG - receive_response_body.complete
19219
+ 2025-06-11 11:08:06,868 - httpcore.http11 - DEBUG - response_closed.started
19220
+ 2025-06-11 11:08:06,868 - httpcore.http11 - DEBUG - response_closed.complete
19221
+ 2025-06-11 11:08:06,868 - httpcore.connection - DEBUG - close.started
19222
+ 2025-06-11 11:08:06,868 - httpcore.connection - DEBUG - close.complete
19223
+ 2025-06-11 11:08:06,879 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
19224
+ 2025-06-11 11:08:06,892 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11a1c8390>
19225
+ 2025-06-11 11:08:06,892 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x107835370> server_hostname='api.gradio.app' timeout=3
19226
+ 2025-06-11 11:08:07,028 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11fbd9090>
19227
+ 2025-06-11 11:08:07,028 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x11fb68a70> server_hostname='api.gradio.app' timeout=30
19228
+ 2025-06-11 11:08:07,032 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
19229
+ 2025-06-11 11:08:07,169 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x118e975d0>
19230
+ 2025-06-11 11:08:07,170 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19231
+ 2025-06-11 11:08:07,170 - httpcore.http11 - DEBUG - send_request_headers.complete
19232
+ 2025-06-11 11:08:07,170 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19233
+ 2025-06-11 11:08:07,171 - httpcore.http11 - DEBUG - send_request_body.complete
19234
+ 2025-06-11 11:08:07,171 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19235
+ 2025-06-11 11:08:07,310 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:08:07 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
19236
+ 2025-06-11 11:08:07,311 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
19237
+ 2025-06-11 11:08:07,311 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19238
+ 2025-06-11 11:08:07,312 - httpcore.http11 - DEBUG - receive_response_body.complete
19239
+ 2025-06-11 11:08:07,312 - httpcore.http11 - DEBUG - response_closed.started
19240
+ 2025-06-11 11:08:07,312 - httpcore.http11 - DEBUG - response_closed.complete
19241
+ 2025-06-11 11:08:07,312 - httpcore.connection - DEBUG - close.started
19242
+ 2025-06-11 11:08:07,312 - httpcore.connection - DEBUG - close.complete
19243
+ 2025-06-11 11:08:07,326 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x119af4110>
19244
+ 2025-06-11 11:08:07,326 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19245
+ 2025-06-11 11:08:07,326 - httpcore.http11 - DEBUG - send_request_headers.complete
19246
+ 2025-06-11 11:08:07,326 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19247
+ 2025-06-11 11:08:07,326 - httpcore.http11 - DEBUG - send_request_body.complete
19248
+ 2025-06-11 11:08:07,326 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19249
+ 2025-06-11 11:08:07,477 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:08:07 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
19250
+ 2025-06-11 11:08:07,478 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
19251
+ 2025-06-11 11:08:07,478 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19252
+ 2025-06-11 11:08:07,478 - httpcore.http11 - DEBUG - receive_response_body.complete
19253
+ 2025-06-11 11:08:07,479 - httpcore.http11 - DEBUG - response_closed.started
19254
+ 2025-06-11 11:08:07,479 - httpcore.http11 - DEBUG - response_closed.complete
19255
+ 2025-06-11 11:08:07,479 - httpcore.connection - DEBUG - close.started
19256
+ 2025-06-11 11:08:07,479 - httpcore.connection - DEBUG - close.complete
19257
+ 2025-06-11 11:08:08,331 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19258
+ 2025-06-11 11:08:08,553 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
19259
+ 2025-06-11 11:08:11,643 - hardware_detector - INFO - Initializing HardwareDetector
19260
+ 2025-06-11 11:08:11,643 - hardware_detector - DEBUG - Starting system hardware detection
19261
+ 2025-06-11 11:08:11,643 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
19262
+ 2025-06-11 11:08:11,643 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
19263
+ 2025-06-11 11:08:11,643 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
19264
+ 2025-06-11 11:08:11,650 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
19265
+ 2025-06-11 11:08:11,650 - hardware_detector - DEBUG - Checking PyTorch availability
19266
+ 2025-06-11 11:08:11,650 - hardware_detector - INFO - PyTorch 2.7.0 detected
19267
+ 2025-06-11 11:08:11,651 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
19268
+ 2025-06-11 11:08:11,651 - hardware_detector - INFO - Hardware detection completed successfully
19269
+ 2025-06-11 11:08:11,651 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19270
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: Full detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19271
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: Platform: Darwin
19272
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: Architecture: arm64
19273
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: MPS Available: True
19274
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: Is Apple Silicon: True
19275
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: GPU Info: None
19276
+ 2025-06-11 11:08:11,651 - __main__ - INFO - 🔍 DEBUG: Detected RAM (GB): 16
19277
+ 2025-06-11 11:08:11,658 - __main__ - INFO - 🔍 DEBUG: PSUtil detected 128GB unified memory
19278
+ 2025-06-11 11:08:11,694 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19279
+ 2025-06-11 11:08:11,694 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
19280
+ 2025-06-11 11:08:11,694 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
19281
+ 2025-06-11 11:08:11,694 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
19282
+ 2025-06-11 11:08:11,694 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19283
+ 2025-06-11 11:08:11,695 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19284
+ 2025-06-11 11:08:11,695 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
19285
+ 2025-06-11 11:08:11,695 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19286
+ 2025-06-11 11:08:11,695 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19287
+ 2025-06-11 11:08:11,809 - __main__ - INFO - 🔍 DEBUG: System profiler output: hardware:
19288
+
19289
+ hardware overview:
19290
+
19291
+ model name: macbook pro
19292
+ model identifier: mac16,5
19293
+ model number: z1fs0002mkh/a
19294
+ chip: apple m4 max
19295
+ total number of cores: 16 (12 performance and 4 efficiency)
19296
+ memory: 128 gb
19297
+ system firmware version: 11881.61.3
19298
+ os loader version: 11881.61.3
19299
+ serial number (system): kkvqcmx4dt
19300
+ hardware uuid: 92bfa67e-d816-5b1d-99bb-f9a2824999ba
19301
+ provisioning udid: 00006041-001269200280801c
19302
+ activation lock status: enabled
19303
+
19304
+
19305
+ 2025-06-11 11:08:11,809 - __main__ - INFO - 🔍 DEBUG: Detected Apple chip: M4 Max
19306
+ 2025-06-11 11:08:11,809 - __main__ - INFO - 🔍 DEBUG: Final values - Platform: Apple Silicon, GPU Vendor: Apple Silicon, GPU Name: M4 Max, Unified RAM: 128GB
19307
+ 2025-06-11 11:09:25,254 - __main__ - INFO - Initializing GradioAutodiffusers
19308
+ 2025-06-11 11:09:25,254 - __main__ - DEBUG - API key found, length: 39
19309
+ 2025-06-11 11:09:25,254 - auto_diffusers - INFO - Initializing AutoDiffusersGenerator
19310
+ 2025-06-11 11:09:25,254 - auto_diffusers - DEBUG - API key length: 39
19311
+ 2025-06-11 11:09:25,254 - auto_diffusers - WARNING - Tool calling dependencies not available, running without tools
19312
+ 2025-06-11 11:09:25,254 - hardware_detector - INFO - Initializing HardwareDetector
19313
+ 2025-06-11 11:09:25,254 - hardware_detector - DEBUG - Starting system hardware detection
19314
+ 2025-06-11 11:09:25,254 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
19315
+ 2025-06-11 11:09:25,254 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
19316
+ 2025-06-11 11:09:25,254 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
19317
+ 2025-06-11 11:09:25,258 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
19318
+ 2025-06-11 11:09:25,258 - hardware_detector - DEBUG - Checking PyTorch availability
19319
+ 2025-06-11 11:09:25,724 - hardware_detector - INFO - PyTorch 2.7.0 detected
19320
+ 2025-06-11 11:09:25,724 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
19321
+ 2025-06-11 11:09:25,724 - hardware_detector - INFO - Hardware detection completed successfully
19322
+ 2025-06-11 11:09:25,724 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19323
+ 2025-06-11 11:09:25,724 - auto_diffusers - INFO - Hardware detector initialized successfully
19324
+ 2025-06-11 11:09:25,724 - __main__ - INFO - AutoDiffusersGenerator initialized successfully
19325
+ 2025-06-11 11:09:25,724 - simple_memory_calculator - INFO - Initializing SimpleMemoryCalculator
19326
+ 2025-06-11 11:09:25,724 - simple_memory_calculator - DEBUG - HuggingFace API initialized
19327
+ 2025-06-11 11:09:25,724 - simple_memory_calculator - DEBUG - Known models in database: 4
19328
+ 2025-06-11 11:09:25,724 - __main__ - INFO - SimpleMemoryCalculator initialized successfully
19329
+ 2025-06-11 11:09:25,724 - __main__ - DEBUG - Default model settings: gemini-2.5-flash-preview-05-20, temp=0.7
19330
+ 2025-06-11 11:09:25,726 - asyncio - DEBUG - Using selector: KqueueSelector
19331
+ 2025-06-11 11:09:25,738 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=3 socket_options=None
19332
+ 2025-06-11 11:09:25,747 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19333
+ 2025-06-11 11:09:25,821 - asyncio - DEBUG - Using selector: KqueueSelector
19334
+ 2025-06-11 11:09:25,852 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=None socket_options=None
19335
+ 2025-06-11 11:09:25,853 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12867ed90>
19336
+ 2025-06-11 11:09:25,853 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19337
+ 2025-06-11 11:09:25,853 - httpcore.http11 - DEBUG - send_request_headers.complete
19338
+ 2025-06-11 11:09:25,853 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19339
+ 2025-06-11 11:09:25,853 - httpcore.http11 - DEBUG - send_request_body.complete
19340
+ 2025-06-11 11:09:25,854 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19341
+ 2025-06-11 11:09:25,854 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:09:25 GMT'), (b'server', b'uvicorn'), (b'content-length', b'4'), (b'content-type', b'application/json')])
19342
+ 2025-06-11 11:09:25,854 - httpx - INFO - HTTP Request: GET http://localhost:7860/gradio_api/startup-events "HTTP/1.1 200 OK"
19343
+ 2025-06-11 11:09:25,854 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19344
+ 2025-06-11 11:09:25,854 - httpcore.http11 - DEBUG - receive_response_body.complete
19345
+ 2025-06-11 11:09:25,854 - httpcore.http11 - DEBUG - response_closed.started
19346
+ 2025-06-11 11:09:25,854 - httpcore.http11 - DEBUG - response_closed.complete
19347
+ 2025-06-11 11:09:25,854 - httpcore.connection - DEBUG - close.started
19348
+ 2025-06-11 11:09:25,854 - httpcore.connection - DEBUG - close.complete
19349
+ 2025-06-11 11:09:25,855 - httpcore.connection - DEBUG - connect_tcp.started host='localhost' port=7860 local_address=None timeout=3 socket_options=None
19350
+ 2025-06-11 11:09:25,855 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12c65f3d0>
19351
+ 2025-06-11 11:09:25,855 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'HEAD']>
19352
+ 2025-06-11 11:09:25,855 - httpcore.http11 - DEBUG - send_request_headers.complete
19353
+ 2025-06-11 11:09:25,855 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'HEAD']>
19354
+ 2025-06-11 11:09:25,855 - httpcore.http11 - DEBUG - send_request_body.complete
19355
+ 2025-06-11 11:09:25,855 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'HEAD']>
19356
+ 2025-06-11 11:09:25,862 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'date', b'Wed, 11 Jun 2025 02:09:25 GMT'), (b'server', b'uvicorn'), (b'content-length', b'142574'), (b'content-type', b'text/html; charset=utf-8')])
19357
+ 2025-06-11 11:09:25,862 - httpx - INFO - HTTP Request: HEAD http://localhost:7860/ "HTTP/1.1 200 OK"
19358
+ 2025-06-11 11:09:25,862 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'HEAD']>
19359
+ 2025-06-11 11:09:25,862 - httpcore.http11 - DEBUG - receive_response_body.complete
19360
+ 2025-06-11 11:09:25,862 - httpcore.http11 - DEBUG - response_closed.started
19361
+ 2025-06-11 11:09:25,862 - httpcore.http11 - DEBUG - response_closed.complete
19362
+ 2025-06-11 11:09:25,862 - httpcore.connection - DEBUG - close.started
19363
+ 2025-06-11 11:09:25,862 - httpcore.connection - DEBUG - close.complete
19364
+ 2025-06-11 11:09:25,874 - httpcore.connection - DEBUG - connect_tcp.started host='api.gradio.app' port=443 local_address=None timeout=30 socket_options=None
19365
+ 2025-06-11 11:09:25,904 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12868d1d0>
19366
+ 2025-06-11 11:09:25,904 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x10cd35370> server_hostname='api.gradio.app' timeout=3
19367
+ 2025-06-11 11:09:26,016 - httpcore.connection - DEBUG - connect_tcp.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12c6d3790>
19368
+ 2025-06-11 11:09:26,016 - httpcore.connection - DEBUG - start_tls.started ssl_context=<ssl.SSLContext object at 0x12c668a70> server_hostname='api.gradio.app' timeout=30
19369
+ 2025-06-11 11:09:26,028 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/initiated HTTP/1.1" 200 0
19370
+ 2025-06-11 11:09:26,177 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x12c3e0950>
19371
+ 2025-06-11 11:09:26,177 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19372
+ 2025-06-11 11:09:26,177 - httpcore.http11 - DEBUG - send_request_headers.complete
19373
+ 2025-06-11 11:09:26,177 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19374
+ 2025-06-11 11:09:26,177 - httpcore.http11 - DEBUG - send_request_body.complete
19375
+ 2025-06-11 11:09:26,177 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19376
+ 2025-06-11 11:09:26,306 - httpcore.connection - DEBUG - start_tls.complete return_value=<httpcore._backends.sync.SyncStream object at 0x11c64e6d0>
19377
+ 2025-06-11 11:09:26,307 - httpcore.http11 - DEBUG - send_request_headers.started request=<Request [b'GET']>
19378
+ 2025-06-11 11:09:26,307 - httpcore.http11 - DEBUG - send_request_headers.complete
19379
+ 2025-06-11 11:09:26,308 - httpcore.http11 - DEBUG - send_request_body.started request=<Request [b'GET']>
19380
+ 2025-06-11 11:09:26,308 - httpcore.http11 - DEBUG - send_request_body.complete
19381
+ 2025-06-11 11:09:26,308 - httpcore.http11 - DEBUG - receive_response_headers.started request=<Request [b'GET']>
19382
+ 2025-06-11 11:09:26,315 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:09:26 GMT'), (b'Content-Type', b'application/json'), (b'Content-Length', b'21'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'Access-Control-Allow-Origin', b'*')])
19383
+ 2025-06-11 11:09:26,315 - httpx - INFO - HTTP Request: GET https://api.gradio.app/pkg-version "HTTP/1.1 200 OK"
19384
+ 2025-06-11 11:09:26,315 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19385
+ 2025-06-11 11:09:26,316 - httpcore.http11 - DEBUG - receive_response_body.complete
19386
+ 2025-06-11 11:09:26,316 - httpcore.http11 - DEBUG - response_closed.started
19387
+ 2025-06-11 11:09:26,316 - httpcore.http11 - DEBUG - response_closed.complete
19388
+ 2025-06-11 11:09:26,316 - httpcore.connection - DEBUG - close.started
19389
+ 2025-06-11 11:09:26,316 - httpcore.connection - DEBUG - close.complete
19390
+ 2025-06-11 11:09:26,454 - httpcore.http11 - DEBUG - receive_response_headers.complete return_value=(b'HTTP/1.1', 200, b'OK', [(b'Date', b'Wed, 11 Jun 2025 02:09:26 GMT'), (b'Content-Type', b'text/html; charset=utf-8'), (b'Transfer-Encoding', b'chunked'), (b'Connection', b'keep-alive'), (b'Server', b'nginx/1.18.0'), (b'ContentType', b'application/json'), (b'Access-Control-Allow-Origin', b'*'), (b'Content-Encoding', b'gzip')])
19391
+ 2025-06-11 11:09:26,455 - httpx - INFO - HTTP Request: GET https://api.gradio.app/v3/tunnel-request "HTTP/1.1 200 OK"
19392
+ 2025-06-11 11:09:26,455 - httpcore.http11 - DEBUG - receive_response_body.started request=<Request [b'GET']>
19393
+ 2025-06-11 11:09:26,455 - httpcore.http11 - DEBUG - receive_response_body.complete
19394
+ 2025-06-11 11:09:26,456 - httpcore.http11 - DEBUG - response_closed.started
19395
+ 2025-06-11 11:09:26,456 - httpcore.http11 - DEBUG - response_closed.complete
19396
+ 2025-06-11 11:09:26,456 - httpcore.connection - DEBUG - close.started
19397
+ 2025-06-11 11:09:26,457 - httpcore.connection - DEBUG - close.complete
19398
+ 2025-06-11 11:09:27,037 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): huggingface.co:443
19399
+ 2025-06-11 11:09:27,127 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19400
+ 2025-06-11 11:09:27,127 - hardware_detector - INFO - Initializing HardwareDetector
19401
+ 2025-06-11 11:09:27,127 - simple_memory_calculator - INFO - Using known memory data for black-forest-labs/FLUX.1-schnell
19402
+ 2025-06-11 11:09:27,127 - hardware_detector - DEBUG - Starting system hardware detection
19403
+ 2025-06-11 11:09:27,127 - simple_memory_calculator - DEBUG - Known data: {'params_billions': 12.0, 'fp16_gb': 24.0, 'inference_fp16_gb': 36.0}
19404
+ 2025-06-11 11:09:27,127 - hardware_detector - DEBUG - Platform: Darwin, Architecture: arm64
19405
+ 2025-06-11 11:09:27,127 - simple_memory_calculator - INFO - Generating memory recommendations for black-forest-labs/FLUX.1-schnell with 8.0GB VRAM
19406
+ 2025-06-11 11:09:27,127 - hardware_detector - DEBUG - CPU cores: 16, Python: 3.11.11
19407
+ 2025-06-11 11:09:27,127 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19408
+ 2025-06-11 11:09:27,127 - hardware_detector - DEBUG - Attempting GPU detection via nvidia-smi
19409
+ 2025-06-11 11:09:27,128 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19410
+ 2025-06-11 11:09:27,128 - simple_memory_calculator - DEBUG - Model memory: 24.0GB, Inference memory: 36.0GB
19411
+ 2025-06-11 11:09:27,132 - simple_memory_calculator - INFO - Getting memory requirements for model: black-forest-labs/FLUX.1-schnell
19412
+ 2025-06-11 11:09:27,133 - simple_memory_calculator - DEBUG - Using cached memory data for black-forest-labs/FLUX.1-schnell
19413
+ 2025-06-11 11:09:27,134 - hardware_detector - DEBUG - nvidia-smi not found, no NVIDIA GPU detected
19414
+ 2025-06-11 11:09:27,135 - hardware_detector - DEBUG - Checking PyTorch availability
19415
+ 2025-06-11 11:09:27,135 - hardware_detector - INFO - PyTorch 2.7.0 detected
19416
+ 2025-06-11 11:09:27,135 - hardware_detector - DEBUG - CUDA available: False, MPS available: True
19417
+ 2025-06-11 11:09:27,135 - hardware_detector - INFO - Hardware detection completed successfully
19418
+ 2025-06-11 11:09:27,135 - hardware_detector - DEBUG - Detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19419
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: Full detected specs: {'platform': 'Darwin', 'architecture': 'arm64', 'cpu_count': 16, 'python_version': '3.11.11', 'gpu_info': None, 'cuda_available': False, 'mps_available': True, 'torch_version': '2.7.0'}
19420
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: Platform: Darwin
19421
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: Architecture: arm64
19422
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: MPS Available: True
19423
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: Is Apple Silicon: True
19424
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: GPU Info: None
19425
+ 2025-06-11 11:09:27,135 - __main__ - INFO - 🔍 DEBUG: Detected RAM (GB): 16
19426
+ 2025-06-11 11:09:27,140 - __main__ - INFO - 🔍 DEBUG: PSUtil detected 128GB unified memory
19427
+ 2025-06-11 11:09:27,218 - __main__ - INFO - 🔍 DEBUG: System profiler output: hardware:
19428
+
19429
+ hardware overview:
19430
+
19431
+ model name: macbook pro
19432
+ model identifier: mac16,5
19433
+ model number: z1fs0002mkh/a
19434
+ chip: apple m4 max
19435
+ total number of cores: 16 (12 performance and 4 efficiency)
19436
+ memory: 128 gb
19437
+ system firmware version: 11881.61.3
19438
+ os loader version: 11881.61.3
19439
+ serial number (system): kkvqcmx4dt
19440
+ hardware uuid: 92bfa67e-d816-5b1d-99bb-f9a2824999ba
19441
+ provisioning udid: 00006041-001269200280801c
19442
+ activation lock status: enabled
19443
+
19444
+
19445
+ 2025-06-11 11:09:27,218 - __main__ - INFO - 🔍 DEBUG: Detected Apple chip: M4 Max
19446
+ 2025-06-11 11:09:27,218 - __main__ - INFO - 🔍 DEBUG: Final values - Platform: Apple Silicon, GPU Vendor: Apple Silicon, GPU Name: M4 Max, Unified RAM: 128GB
19447
+ 2025-06-11 11:09:27,258 - urllib3.connectionpool - DEBUG - https://huggingface.co:443 "HEAD /api/telemetry/gradio/launched HTTP/1.1" 200 0
gradio_app.py CHANGED
@@ -1,10 +1,12 @@
1
  import os
2
  import logging
 
3
  import gradio as gr
4
  from dotenv import load_dotenv
5
  import google.generativeai as genai
6
  from auto_diffusers import AutoDiffusersGenerator
7
  from simple_memory_calculator import SimpleMemoryCalculator
 
8
 
9
  load_dotenv()
10
 
@@ -170,8 +172,12 @@ class GradioAutodiffusers:
170
  return f"Error generating code: {str(e)}"
171
 
172
 
173
- def create_gradio_interface():
174
- """Create and configure the Gradio interface."""
 
 
 
 
175
 
176
  app = GradioAutodiffusers()
177
 
@@ -1641,7 +1647,7 @@ def create_gradio_interface():
1641
 
1642
  # Hardware Selection Section
1643
  with gr.Group(elem_classes="glass-card"):
1644
- with gr.Accordion("⚙️ Hardware Specifications", open=False) as hardware_accordion:
1645
  gr.HTML("""
1646
  <div class="section-header" style="text-align: center;">
1647
  <p style="margin: 0; color: #6a443a; font-size: 1.1rem; font-weight: 600; font-family: 'Georgia', serif;">
@@ -1653,7 +1659,7 @@ def create_gradio_interface():
1653
  # Platform, VRAM, and RAM in a single row
1654
  with gr.Row():
1655
  platform = gr.Dropdown(
1656
- choices=["Linux", "Darwin", "Windows"],
1657
  label="🖥️ Platform",
1658
  value="Linux",
1659
  info="Your operating system"
@@ -1672,6 +1678,14 @@ def create_gradio_interface():
1672
  maximum=256,
1673
  info="Total system memory"
1674
  )
 
 
 
 
 
 
 
 
1675
 
1676
  # GPU configuration on separate lines
1677
  gpu_vendor = gr.Dropdown(
@@ -1711,6 +1725,7 @@ def create_gradio_interface():
1711
  visible=False
1712
  )
1713
 
 
1714
  # Model Configuration Section
1715
  with gr.Group(elem_classes="glass-card"):
1716
  with gr.Accordion("🤖 Model Configuration", open=True) as model_accordion:
@@ -1819,6 +1834,25 @@ def create_gradio_interface():
1819
  value=""
1820
  )
1821
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1822
  def on_gpu_vendor_change(vendor):
1823
  """Handle GPU vendor selection and update series dropdown."""
1824
  if vendor == "Custom (Manual Input)":
@@ -1944,12 +1978,16 @@ def create_gradio_interface():
1944
  else:
1945
  return vendor if vendor != "Custom (Manual Input)" else "Custom GPU"
1946
 
1947
- def update_hardware_accordion_title(platform, gpu_vendor, gpu_model, vram_gb, ram_gb):
1948
  """Update hardware accordion title with current configuration."""
1949
  final_gpu = get_final_gpu_name(gpu_vendor, "", gpu_model)
1950
  if not final_gpu:
1951
  final_gpu = gpu_vendor if gpu_vendor != "Custom (Manual Input)" else "Custom GPU"
1952
 
 
 
 
 
1953
  # Extract GPU name and VRAM for cleaner display
1954
  gpu_display = final_gpu
1955
  if gpu_model and "(" in gpu_model and "GB" in gpu_model:
@@ -2014,6 +2052,13 @@ def create_gradio_interface():
2014
  error_msg = str(e)
2015
  return f"**Note:** {error_msg} (API error)", model_name
2016
 
 
 
 
 
 
 
 
2017
  # Connect GPU dropdown change handlers with memory analysis updates
2018
  gpu_vendor.change(
2019
  on_gpu_vendor_change,
@@ -2069,18 +2114,195 @@ def create_gradio_interface():
2069
  )
2070
 
2071
  # Create wrapper functions that return gr.update for accordion labels
2072
- def update_hardware_accordion(platform, gpu_vendor, gpu_model, vram_gb, ram_gb):
2073
- title = update_hardware_accordion_title(platform, gpu_vendor, gpu_model, vram_gb, ram_gb)
2074
  return gr.update(label=title)
2075
 
2076
  def update_model_accordion(model_name, dtype_selection, width, height, inference_steps, memory_analysis_text=""):
2077
  title = update_model_accordion_title(model_name, dtype_selection, width, height, inference_steps, memory_analysis_text)
2078
  return gr.update(label=title)
2079
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2080
  # Load initial accordion titles on startup
2081
  interface.load(
2082
  update_hardware_accordion,
2083
- inputs=[platform, gpu_vendor, gpu_model, vram_gb, ram_gb],
2084
  outputs=hardware_accordion
2085
  )
2086
 
@@ -2093,10 +2315,10 @@ def create_gradio_interface():
2093
  # Accordion title update event handlers
2094
 
2095
  # Hardware accordion title updates
2096
- for component in [platform, gpu_vendor, gpu_model, vram_gb, ram_gb]:
2097
  component.change(
2098
  update_hardware_accordion,
2099
- inputs=[platform, gpu_vendor, gpu_model, vram_gb, ram_gb],
2100
  outputs=hardware_accordion
2101
  )
2102
 
@@ -2191,20 +2413,28 @@ def create_gradio_interface():
2191
 
2192
  return '\n'.join(filtered_lines)
2193
 
2194
- def generate_with_combined_gpu_name(gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform, model_name, dtype_selection, width, height, inference_steps):
2195
  """Generate code with the correct GPU name from multi-level selection, including memory analysis."""
2196
  final_gpu_name = get_final_gpu_name(gpu_vendor, gpu_series, gpu_model)
2197
 
2198
  # Constant prompt text
2199
  prompt_text = "A cat holding a sign that says hello world"
2200
 
 
 
 
 
 
 
 
 
2201
  # STEP 1: Perform memory analysis BEFORE code generation
2202
  memory_analysis_data = None
2203
  memory_header = ""
2204
 
2205
  try:
2206
- if model_name and vram_gb and vram_gb > 0:
2207
- memory_info, recommendations, _ = app.analyze_model_memory(model_name, vram_gb)
2208
 
2209
  # Package memory analysis for Gemini API
2210
  memory_analysis_data = {
@@ -2241,8 +2471,17 @@ def create_gradio_interface():
2241
 
2242
  optimization_strategy = get_optimization_strategy(recommendations)
2243
 
2244
- memory_header = f"""# Memory Analysis for {model_name}:
2245
- # GPU: {final_gpu_name if final_gpu_name else 'Not specified'} ({vram_gb}GB VRAM)
 
 
 
 
 
 
 
 
 
2246
  # Model Memory Requirements: {memory_info.get('estimated_inference_memory_fp16_gb', 'Unknown')} GB
2247
  # Recommendation: {', '.join(recommendations.get('recommendations', ['N/A']))}
2248
  # Optimization Strategy: {optimization_strategy}
@@ -2256,9 +2495,25 @@ def create_gradio_interface():
2256
  """
2257
 
2258
  # STEP 2: Get the actual prompt that will be sent to Gemini
2259
- actual_prompt = app.get_generation_prompt(
2260
- model_name, prompt_text, (int(height), int(width)), int(inference_steps),
2261
- {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2262
  'platform': platform,
2263
  'architecture': 'manual_input',
2264
  'cpu_count': 8,
@@ -2267,16 +2522,20 @@ def create_gradio_interface():
2267
  'mps_available': platform == 'Darwin' and 'apple' in final_gpu_name.lower() if final_gpu_name else False,
2268
  'torch_version': '2.0+',
2269
  'manual_input': True,
2270
- 'ram_gb': int(ram_gb) if ram_gb else 16,
2271
  'user_dtype': f"torch.{dtype_selection}" if dtype_selection != "Auto" else None,
2272
- 'gpu_info': [{'name': final_gpu_name, 'memory_mb': int(vram_gb) * 1024}] if final_gpu_name and vram_gb else None
2273
- },
 
 
 
 
2274
  optimization_profile="balanced"
2275
  )
2276
 
2277
  # STEP 3: Generate the optimized code WITH memory analysis information
2278
  generated_code = app.generate_code_with_manual_specs(
2279
- final_gpu_name, vram_gb, ram_gb, platform,
2280
  model_name, prompt_text, dtype_selection, width, height, inference_steps,
2281
  memory_analysis_data
2282
  )
@@ -2294,11 +2553,11 @@ def create_gradio_interface():
2294
  full_code_storage = gr.State(value="")
2295
  prompt_storage = gr.State(value="")
2296
 
2297
- def generate_and_store_code(gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform, model_name, dtype_selection, width, height, inference_steps):
2298
  """Generate code and return code for display and full code for storage."""
2299
  summary, full_code, actual_prompt = generate_with_combined_gpu_name(
2300
  gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform,
2301
- model_name, dtype_selection, width, height, inference_steps
2302
  )
2303
  # Show the view prompt button after generation and close accordions
2304
  return (full_code, full_code, False, gr.update(visible=True), actual_prompt,
@@ -2317,7 +2576,7 @@ def create_gradio_interface():
2317
  generate_and_store_code,
2318
  inputs=[
2319
  gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform,
2320
- model_name, dtype_selection, width, height, inference_steps
2321
  ],
2322
  outputs=[code_output, full_code_storage, code_collapsed, view_prompt_btn, prompt_storage, hardware_accordion, model_accordion]
2323
  )
@@ -2334,6 +2593,7 @@ def create_gradio_interface():
2334
  hide_modal,
2335
  outputs=[prompt_modal, prompt_display]
2336
  )
 
2337
 
2338
 
2339
 
@@ -2342,12 +2602,54 @@ def create_gradio_interface():
2342
 
2343
  def main():
2344
  """Launch the Gradio application."""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2345
  try:
2346
- interface = create_gradio_interface()
2347
  interface.launch(
2348
- server_name="0.0.0.0",
2349
- server_port=7860,
2350
- share=True,
2351
  show_error=True
2352
  )
2353
  except Exception as e:
 
1
  import os
2
  import logging
3
+ import argparse
4
  import gradio as gr
5
  from dotenv import load_dotenv
6
  import google.generativeai as genai
7
  from auto_diffusers import AutoDiffusersGenerator
8
  from simple_memory_calculator import SimpleMemoryCalculator
9
+ from hardware_detector import HardwareDetector
10
 
11
  load_dotenv()
12
 
 
172
  return f"Error generating code: {str(e)}"
173
 
174
 
175
+ def create_gradio_interface(auto_hardware_detection=False):
176
+ """Create and configure the Gradio interface.
177
+
178
+ Args:
179
+ auto_hardware_detection (bool): Whether to enable automatic hardware detection on startup
180
+ """
181
 
182
  app = GradioAutodiffusers()
183
 
 
1647
 
1648
  # Hardware Selection Section
1649
  with gr.Group(elem_classes="glass-card"):
1650
+ with gr.Accordion("⚙️ Hardware Specifications", open=True) as hardware_accordion:
1651
  gr.HTML("""
1652
  <div class="section-header" style="text-align: center;">
1653
  <p style="margin: 0; color: #6a443a; font-size: 1.1rem; font-weight: 600; font-family: 'Georgia', serif;">
 
1659
  # Platform, VRAM, and RAM in a single row
1660
  with gr.Row():
1661
  platform = gr.Dropdown(
1662
+ choices=["Linux", "Darwin", "Windows", "Apple Silicon"],
1663
  label="🖥️ Platform",
1664
  value="Linux",
1665
  info="Your operating system"
 
1678
  maximum=256,
1679
  info="Total system memory"
1680
  )
1681
+ unified_ram_gb = gr.Number(
1682
+ label="🔗 Unified RAM (GB)",
1683
+ value=16,
1684
+ minimum=8,
1685
+ maximum=256,
1686
+ visible=False,
1687
+ info="Total unified memory (shared by CPU and GPU)"
1688
+ )
1689
 
1690
  # GPU configuration on separate lines
1691
  gpu_vendor = gr.Dropdown(
 
1725
  visible=False
1726
  )
1727
 
1728
+
1729
  # Model Configuration Section
1730
  with gr.Group(elem_classes="glass-card"):
1731
  with gr.Accordion("🤖 Model Configuration", open=True) as model_accordion:
 
1834
  value=""
1835
  )
1836
 
1837
+ def on_platform_change(platform_value):
1838
+ """Handle platform selection and update field visibility."""
1839
+ if platform_value == "Apple Silicon":
1840
+ # Hide VRAM, System RAM, and GPU Series; show Unified RAM
1841
+ return (
1842
+ gr.update(visible=False), # vram_gb
1843
+ gr.update(visible=False), # ram_gb
1844
+ gr.update(visible=True), # unified_ram_gb
1845
+ gr.update(visible=False) # gpu_series
1846
+ )
1847
+ else:
1848
+ # Show VRAM and System RAM, hide Unified RAM, show GPU Series
1849
+ return (
1850
+ gr.update(visible=True), # vram_gb
1851
+ gr.update(visible=True), # ram_gb
1852
+ gr.update(visible=False), # unified_ram_gb
1853
+ gr.update(visible=True) # gpu_series
1854
+ )
1855
+
1856
  def on_gpu_vendor_change(vendor):
1857
  """Handle GPU vendor selection and update series dropdown."""
1858
  if vendor == "Custom (Manual Input)":
 
1978
  else:
1979
  return vendor if vendor != "Custom (Manual Input)" else "Custom GPU"
1980
 
1981
+ def update_hardware_accordion_title(platform, gpu_vendor, gpu_model, vram_gb, ram_gb, unified_ram_gb=None):
1982
  """Update hardware accordion title with current configuration."""
1983
  final_gpu = get_final_gpu_name(gpu_vendor, "", gpu_model)
1984
  if not final_gpu:
1985
  final_gpu = gpu_vendor if gpu_vendor != "Custom (Manual Input)" else "Custom GPU"
1986
 
1987
+ # Handle Apple Silicon unified memory display
1988
+ if platform == "Apple Silicon":
1989
+ return f"⚙️ Hardware: Apple Silicon | {unified_ram_gb}GB Unified Memory"
1990
+
1991
  # Extract GPU name and VRAM for cleaner display
1992
  gpu_display = final_gpu
1993
  if gpu_model and "(" in gpu_model and "GB" in gpu_model:
 
2052
  error_msg = str(e)
2053
  return f"**Note:** {error_msg} (API error)", model_name
2054
 
2055
+ # Connect platform change handler
2056
+ platform.change(
2057
+ on_platform_change,
2058
+ inputs=[platform],
2059
+ outputs=[vram_gb, ram_gb, unified_ram_gb, gpu_series]
2060
+ )
2061
+
2062
  # Connect GPU dropdown change handlers with memory analysis updates
2063
  gpu_vendor.change(
2064
  on_gpu_vendor_change,
 
2114
  )
2115
 
2116
  # Create wrapper functions that return gr.update for accordion labels
2117
+ def update_hardware_accordion(platform, gpu_vendor, gpu_model, vram_gb, ram_gb, unified_ram_gb):
2118
+ title = update_hardware_accordion_title(platform, gpu_vendor, gpu_model, vram_gb, ram_gb, unified_ram_gb)
2119
  return gr.update(label=title)
2120
 
2121
  def update_model_accordion(model_name, dtype_selection, width, height, inference_steps, memory_analysis_text=""):
2122
  title = update_model_accordion_title(model_name, dtype_selection, width, height, inference_steps, memory_analysis_text)
2123
  return gr.update(label=title)
2124
 
2125
+ def auto_detect_hardware():
2126
+ """Auto-detect hardware specifications and return values for form fields."""
2127
+ try:
2128
+ detector = HardwareDetector()
2129
+ specs = detector.specs
2130
+
2131
+ # DEBUG: Log all detected specs
2132
+ logger.info(f"🔍 DEBUG: Full detected specs: {specs}")
2133
+
2134
+ # Extract platform
2135
+ detected_platform = specs.get('platform', 'Linux')
2136
+ logger.info(f"🔍 DEBUG: Platform: {detected_platform}")
2137
+ logger.info(f"🔍 DEBUG: Architecture: {specs.get('architecture')}")
2138
+ logger.info(f"🔍 DEBUG: MPS Available: {specs.get('mps_available')}")
2139
+
2140
+ # Check for Apple Silicon specifically
2141
+ is_apple_silicon = (
2142
+ detected_platform == 'Darwin' and
2143
+ specs.get('architecture') == 'arm64' and
2144
+ specs.get('mps_available', False)
2145
+ )
2146
+
2147
+ logger.info(f"🔍 DEBUG: Is Apple Silicon: {is_apple_silicon}")
2148
+
2149
+ if is_apple_silicon:
2150
+ detected_platform = "Apple Silicon"
2151
+
2152
+ # Extract GPU info
2153
+ gpu_info = specs.get('gpu_info', [])
2154
+ logger.info(f"🔍 DEBUG: GPU Info: {gpu_info}")
2155
+
2156
+ detected_gpu_name = ""
2157
+ detected_vram = 8 # default
2158
+ detected_unified_ram = 16 # default for Apple Silicon
2159
+
2160
+ if gpu_info and len(gpu_info) > 0:
2161
+ gpu = gpu_info[0] # Take first GPU
2162
+ detected_gpu_name = gpu.get('name', '')
2163
+ detected_vram = gpu.get('memory_mb', 8192) // 1024 # Convert MB to GB
2164
+ logger.info(f"🔍 DEBUG: GPU Name: {detected_gpu_name}")
2165
+ logger.info(f"🔍 DEBUG: GPU Memory MB: {gpu.get('memory_mb')}")
2166
+
2167
+ # Extract RAM - try multiple methods for Apple Silicon
2168
+ detected_ram = specs.get('ram_gb', 16)
2169
+ logger.info(f"🔍 DEBUG: Detected RAM (GB): {detected_ram}")
2170
+
2171
+ # For Apple Silicon, try to get more accurate memory info
2172
+ if is_apple_silicon:
2173
+ # Try to get system memory in different ways
2174
+ try:
2175
+ import psutil
2176
+ total_memory_bytes = psutil.virtual_memory().total
2177
+ total_memory_gb = total_memory_bytes / (1024**3)
2178
+ detected_unified_ram = round(total_memory_gb)
2179
+ logger.info(f"🔍 DEBUG: PSUtil detected {detected_unified_ram}GB unified memory")
2180
+ except:
2181
+ # Fallback to specs value
2182
+ detected_unified_ram = detected_ram
2183
+ logger.info(f"🔍 DEBUG: Using specs RAM value: {detected_unified_ram}GB")
2184
+
2185
+ # Map detected GPU to vendor categories
2186
+ gpu_vendor = "Custom (Manual Input)"
2187
+
2188
+ # For Apple Silicon, try to detect the chip series
2189
+ if is_apple_silicon:
2190
+ # Try to detect Apple Silicon chip from system info
2191
+ try:
2192
+ import subprocess
2193
+ # Get chip info from system profiler
2194
+ result = subprocess.run(['system_profiler', 'SPHardwareDataType'],
2195
+ capture_output=True, text=True, timeout=5)
2196
+ chip_info = result.stdout.lower()
2197
+ logger.info(f"🔍 DEBUG: System profiler output: {chip_info}")
2198
+
2199
+ if 'm1' in chip_info:
2200
+ if 'ultra' in chip_info:
2201
+ detected_gpu_name = "M1 Ultra"
2202
+ elif 'max' in chip_info:
2203
+ detected_gpu_name = "M1 Max"
2204
+ elif 'pro' in chip_info:
2205
+ detected_gpu_name = "M1 Pro"
2206
+ else:
2207
+ detected_gpu_name = "M1"
2208
+ elif 'm2' in chip_info:
2209
+ if 'ultra' in chip_info:
2210
+ detected_gpu_name = "M2 Ultra"
2211
+ elif 'max' in chip_info:
2212
+ detected_gpu_name = "M2 Max"
2213
+ elif 'pro' in chip_info:
2214
+ detected_gpu_name = "M2 Pro"
2215
+ else:
2216
+ detected_gpu_name = "M2"
2217
+ elif 'm3' in chip_info:
2218
+ if 'ultra' in chip_info:
2219
+ detected_gpu_name = "M3 Ultra"
2220
+ elif 'max' in chip_info:
2221
+ detected_gpu_name = "M3 Max"
2222
+ elif 'pro' in chip_info:
2223
+ detected_gpu_name = "M3 Pro"
2224
+ else:
2225
+ detected_gpu_name = "M3"
2226
+ elif 'm4' in chip_info:
2227
+ if 'ultra' in chip_info:
2228
+ detected_gpu_name = "M4 Ultra"
2229
+ elif 'max' in chip_info:
2230
+ detected_gpu_name = "M4 Max"
2231
+ elif 'pro' in chip_info:
2232
+ detected_gpu_name = "M4 Pro"
2233
+ else:
2234
+ detected_gpu_name = "M4"
2235
+
2236
+ logger.info(f"🔍 DEBUG: Detected Apple chip: {detected_gpu_name}")
2237
+ except Exception as e:
2238
+ logger.warning(f"🔍 DEBUG: Could not detect Apple chip: {e}")
2239
+ detected_gpu_name = "Apple Silicon GPU"
2240
+
2241
+ gpu_vendor = "Apple Silicon"
2242
+ elif detected_gpu_name:
2243
+ gpu_lower = detected_gpu_name.lower()
2244
+ if 'rtx' in gpu_lower and ('geforce' in gpu_lower or '30' in gpu_lower or '40' in gpu_lower or '50' in gpu_lower):
2245
+ gpu_vendor = "NVIDIA Consumer (GeForce RTX)"
2246
+ elif 'rtx' in gpu_lower and ('a' in gpu_lower or 'quadro' in gpu_lower):
2247
+ gpu_vendor = "NVIDIA Professional (RTX A-Series)"
2248
+ elif any(x in gpu_lower for x in ['h100', 'a100', 'v100', 'l40', 'l4']):
2249
+ gpu_vendor = "NVIDIA Data Center"
2250
+ elif 'm1' in gpu_lower or 'm2' in gpu_lower or 'm3' in gpu_lower or 'm4' in gpu_lower or 'apple' in gpu_lower:
2251
+ gpu_vendor = "Apple Silicon"
2252
+ elif 'radeon' in gpu_lower or 'rx ' in gpu_lower or 'instinct' in gpu_lower:
2253
+ gpu_vendor = "AMD"
2254
+ elif 'arc' in gpu_lower:
2255
+ gpu_vendor = "Intel"
2256
+
2257
+ logger.info(f"🔍 DEBUG: Final values - Platform: {detected_platform}, GPU Vendor: {gpu_vendor}, GPU Name: {detected_gpu_name}, Unified RAM: {detected_unified_ram}GB")
2258
+
2259
+ return detected_platform, gpu_vendor, detected_gpu_name, detected_vram, detected_ram, detected_unified_ram
2260
+
2261
+ except Exception as e:
2262
+ logger.warning(f"Auto hardware detection failed: {e}")
2263
+ # Return defaults if detection fails
2264
+ return "Linux", "Custom (Manual Input)", "", 8, 16, 16
2265
+
2266
+ # Auto hardware detection on startup (if enabled)
2267
+ if auto_hardware_detection:
2268
+ def populate_hardware_on_load():
2269
+ """Populate hardware fields with auto-detected values on load."""
2270
+ detected_platform, detected_gpu_vendor, detected_gpu_name, detected_vram, detected_ram, detected_unified_ram = auto_detect_hardware()
2271
+
2272
+ # Handle Apple Silicon field visibility
2273
+ if detected_platform == "Apple Silicon":
2274
+ vram_visible = False
2275
+ ram_visible = False
2276
+ unified_visible = True
2277
+ gpu_series_visible = False
2278
+ else:
2279
+ vram_visible = True
2280
+ ram_visible = True
2281
+ unified_visible = False
2282
+ gpu_series_visible = True
2283
+
2284
+ # Update all hardware fields
2285
+ updates = [
2286
+ gr.update(value=detected_platform), # platform
2287
+ gr.update(value=detected_gpu_vendor), # gpu_vendor
2288
+ gr.update(value=detected_gpu_name), # gpu_name
2289
+ gr.update(value=detected_vram, visible=vram_visible), # vram_gb
2290
+ gr.update(value=detected_ram, visible=ram_visible), # ram_gb
2291
+ gr.update(value=detected_unified_ram, visible=unified_visible), # unified_ram_gb
2292
+ gr.update(visible=gpu_series_visible), # gpu_series
2293
+ ]
2294
+
2295
+ return updates
2296
+
2297
+ interface.load(
2298
+ populate_hardware_on_load,
2299
+ outputs=[platform, gpu_vendor, gpu_name, vram_gb, ram_gb, unified_ram_gb, gpu_series]
2300
+ )
2301
+
2302
  # Load initial accordion titles on startup
2303
  interface.load(
2304
  update_hardware_accordion,
2305
+ inputs=[platform, gpu_vendor, gpu_model, vram_gb, ram_gb, unified_ram_gb],
2306
  outputs=hardware_accordion
2307
  )
2308
 
 
2315
  # Accordion title update event handlers
2316
 
2317
  # Hardware accordion title updates
2318
+ for component in [platform, gpu_vendor, gpu_model, vram_gb, ram_gb, unified_ram_gb]:
2319
  component.change(
2320
  update_hardware_accordion,
2321
+ inputs=[platform, gpu_vendor, gpu_model, vram_gb, ram_gb, unified_ram_gb],
2322
  outputs=hardware_accordion
2323
  )
2324
 
 
2413
 
2414
  return '\n'.join(filtered_lines)
2415
 
2416
+ def generate_with_combined_gpu_name(gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform, model_name, dtype_selection, width, height, inference_steps, unified_ram_gb=None):
2417
  """Generate code with the correct GPU name from multi-level selection, including memory analysis."""
2418
  final_gpu_name = get_final_gpu_name(gpu_vendor, gpu_series, gpu_model)
2419
 
2420
  # Constant prompt text
2421
  prompt_text = "A cat holding a sign that says hello world"
2422
 
2423
+ # Handle Apple Silicon unified memory
2424
+ effective_vram = vram_gb
2425
+ effective_ram = ram_gb
2426
+ if platform == "Apple Silicon" and unified_ram_gb:
2427
+ # For Apple Silicon, unified memory serves as both VRAM and RAM
2428
+ effective_vram = unified_ram_gb
2429
+ effective_ram = unified_ram_gb
2430
+
2431
  # STEP 1: Perform memory analysis BEFORE code generation
2432
  memory_analysis_data = None
2433
  memory_header = ""
2434
 
2435
  try:
2436
+ if model_name and effective_vram and effective_vram > 0:
2437
+ memory_info, recommendations, _ = app.analyze_model_memory(model_name, effective_vram)
2438
 
2439
  # Package memory analysis for Gemini API
2440
  memory_analysis_data = {
 
2471
 
2472
  optimization_strategy = get_optimization_strategy(recommendations)
2473
 
2474
+ if platform == "Apple Silicon":
2475
+ memory_header = f"""# Memory Analysis for {model_name}:
2476
+ # Platform: Apple Silicon with {unified_ram_gb}GB Unified Memory (shared CPU/GPU)
2477
+ # Model Memory Requirements: {memory_info.get('estimated_inference_memory_fp16_gb', 'Unknown')} GB
2478
+ # Recommendation: {', '.join(recommendations.get('recommendations', ['N/A']))}
2479
+ # Optimization Strategy: {optimization_strategy}
2480
+
2481
+ """
2482
+ else:
2483
+ memory_header = f"""# Memory Analysis for {model_name}:
2484
+ # GPU: {final_gpu_name if final_gpu_name else 'Not specified'} ({effective_vram}GB VRAM)
2485
  # Model Memory Requirements: {memory_info.get('estimated_inference_memory_fp16_gb', 'Unknown')} GB
2486
  # Recommendation: {', '.join(recommendations.get('recommendations', ['N/A']))}
2487
  # Optimization Strategy: {optimization_strategy}
 
2495
  """
2496
 
2497
  # STEP 2: Get the actual prompt that will be sent to Gemini
2498
+ # Create hardware specs based on platform
2499
+ if platform == "Apple Silicon":
2500
+ hardware_specs = {
2501
+ 'platform': 'Darwin', # Use Darwin for backend compatibility
2502
+ 'architecture': 'arm64',
2503
+ 'cpu_count': 8,
2504
+ 'python_version': '3.11',
2505
+ 'cuda_available': False,
2506
+ 'mps_available': True, # Apple Silicon supports MPS
2507
+ 'torch_version': '2.0+',
2508
+ 'manual_input': True,
2509
+ 'ram_gb': int(effective_ram) if effective_ram else 16,
2510
+ 'unified_memory': True, # Special flag for Apple Silicon
2511
+ 'unified_memory_gb': int(unified_ram_gb) if unified_ram_gb else 16,
2512
+ 'user_dtype': f"torch.{dtype_selection}" if dtype_selection != "Auto" else None,
2513
+ 'gpu_info': None # Apple Silicon doesn't report discrete GPU info
2514
+ }
2515
+ else:
2516
+ hardware_specs = {
2517
  'platform': platform,
2518
  'architecture': 'manual_input',
2519
  'cpu_count': 8,
 
2522
  'mps_available': platform == 'Darwin' and 'apple' in final_gpu_name.lower() if final_gpu_name else False,
2523
  'torch_version': '2.0+',
2524
  'manual_input': True,
2525
+ 'ram_gb': int(effective_ram) if effective_ram else 16,
2526
  'user_dtype': f"torch.{dtype_selection}" if dtype_selection != "Auto" else None,
2527
+ 'gpu_info': [{'name': final_gpu_name, 'memory_mb': int(effective_vram) * 1024}] if final_gpu_name and effective_vram else None
2528
+ }
2529
+
2530
+ actual_prompt = app.get_generation_prompt(
2531
+ model_name, prompt_text, (int(height), int(width)), int(inference_steps),
2532
+ hardware_specs,
2533
  optimization_profile="balanced"
2534
  )
2535
 
2536
  # STEP 3: Generate the optimized code WITH memory analysis information
2537
  generated_code = app.generate_code_with_manual_specs(
2538
+ final_gpu_name, effective_vram, effective_ram, platform,
2539
  model_name, prompt_text, dtype_selection, width, height, inference_steps,
2540
  memory_analysis_data
2541
  )
 
2553
  full_code_storage = gr.State(value="")
2554
  prompt_storage = gr.State(value="")
2555
 
2556
+ def generate_and_store_code(gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform, model_name, dtype_selection, width, height, inference_steps, unified_ram_gb):
2557
  """Generate code and return code for display and full code for storage."""
2558
  summary, full_code, actual_prompt = generate_with_combined_gpu_name(
2559
  gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform,
2560
+ model_name, dtype_selection, width, height, inference_steps, unified_ram_gb
2561
  )
2562
  # Show the view prompt button after generation and close accordions
2563
  return (full_code, full_code, False, gr.update(visible=True), actual_prompt,
 
2576
  generate_and_store_code,
2577
  inputs=[
2578
  gpu_vendor, gpu_series, gpu_model, vram_gb, ram_gb, platform,
2579
+ model_name, dtype_selection, width, height, inference_steps, unified_ram_gb
2580
  ],
2581
  outputs=[code_output, full_code_storage, code_collapsed, view_prompt_btn, prompt_storage, hardware_accordion, model_accordion]
2582
  )
 
2593
  hide_modal,
2594
  outputs=[prompt_modal, prompt_display]
2595
  )
2596
+
2597
 
2598
 
2599
 
 
2602
 
2603
  def main():
2604
  """Launch the Gradio application."""
2605
+ parser = argparse.ArgumentParser(description="Auto-Diffusers Code Generator")
2606
+ parser.add_argument(
2607
+ "--auto-hardware-detection",
2608
+ action="store_true",
2609
+ default=False,
2610
+ help="Enable automatic hardware detection on startup"
2611
+ )
2612
+ parser.add_argument(
2613
+ "--no-auto-hardware-detection",
2614
+ action="store_true",
2615
+ help="Disable automatic hardware detection on startup (default: True)"
2616
+ )
2617
+ parser.add_argument(
2618
+ "--port",
2619
+ type=int,
2620
+ default=7860,
2621
+ help="Port to run the server on (default: 7860)"
2622
+ )
2623
+ parser.add_argument(
2624
+ "--host",
2625
+ type=str,
2626
+ default="0.0.0.0",
2627
+ help="Host to run the server on (default: 0.0.0.0)"
2628
+ )
2629
+ parser.add_argument(
2630
+ "--no-share",
2631
+ action="store_true",
2632
+ help="Disable public sharing of the interface"
2633
+ )
2634
+
2635
+ args = parser.parse_args()
2636
+
2637
+ # Handle auto hardware detection flag
2638
+ auto_hardware_detection = args.auto_hardware_detection and not args.no_auto_hardware_detection
2639
+
2640
+ # Log startup configuration
2641
+ print(f"🚀 Starting Auto-Diffusers Code Generator...")
2642
+ print(f" Host: {args.host}")
2643
+ print(f" Port: {args.port}")
2644
+ print(f" Share: {not args.no_share}")
2645
+ print(f" Auto Hardware Detection: {'Enabled' if auto_hardware_detection else 'Disabled'}")
2646
+
2647
  try:
2648
+ interface = create_gradio_interface(auto_hardware_detection=auto_hardware_detection)
2649
  interface.launch(
2650
+ server_name=args.host,
2651
+ server_port=args.port,
2652
+ share=not args.no_share,
2653
  show_error=True
2654
  )
2655
  except Exception as e: