[Broken] TF1.fr multi-language videos: no detection of other languages than French

<!--

######################################################################
  WARNING!
  IGNORING THE FOLLOWING TEMPLATE WILL RESULT IN ISSUE CLOSED AS INCOMPLETE
######################################################################

-->

## Checklist

<!--
Carefully read and work through this check list in order to prevent the most common mistakes and misuse of yt-dlp:
- First of, make sure you are using the latest version of yt-dlp. Run `yt-dlp --version` and ensure your version is 2021.09.02. If it's not, see https://github.com/yt-dlp/yt-dlp on how to update. Issues with outdated version will be REJECTED.
- Make sure that all provided video/audio/playlist URLs (if any) are alive and playable in a browser.
- Make sure that all URLs and arguments with special characters are properly quoted or escaped as explained in https://github.com/yt-dlp/yt-dlp.
- Search the bugtracker for similar issues: https://github.com/yt-dlp/yt-dlp. DO NOT post duplicates.
- Finally, put x into all relevant boxes like this [x] (Dont forget to delete the empty space)
-->

- [x] I'm reporting a broken site support
- [x] I've verified that I'm running yt-dlp version **2021.09.02**
- [x] I've checked that all provided URLs are alive and playable in a browser
- [x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
- [x] I've searched the bugtracker for similar issues including closed ones

## Verbose log

<!--
Provide the complete verbose output of yt-dlp that clearly demonstrates the problem.
Add the `-v` flag to your command line you run yt-dlp with (`yt-dlp -v <your command line>`), copy the WHOLE output and insert it below. It should look similar to this:
 [debug] System config: []
 [debug] User config: []
 [debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKc']
 [debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
 [debug] yt-dlp version 2021.09.02
 [debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
 [debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
 [debug] Proxy map: {}
 <more lines>
-->

```
yt-dlp -v -F https://www.tf1.fr/tf1/get-the-gringo/videos/kill-the-gringo-86959372.html
[debug] Command-line config: ['-v', '-F', 'https://www.tf1.fr/tf1/get-the-gringo/videos/kill-the-gringo-86959372.html']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] yt-dlp version 2021.09.02 (zip)
[debug] Python version 3.7.3 (CPython 64bit) - Linux-5.10.0-0.bpo.5-amd64-x86_64-with-debian-10.10
[debug] exe versions: ffmpeg 4.1.6-1, ffprobe 4.1.6-1, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: mutagen, sqlite
[debug] Proxy map: {}
[debug] [TF1] Extracting URL: https://www.tf1.fr/tf1/get-the-gringo/videos/kill-the-gringo-86959372.html
[TF1] kill-the-gringo-86959372: Downloading JSON metadata
[debug] [wat.tv] Extracting URL: wat:13802773
[wat.tv] 13802773: Downloading JSON metadata
[wat.tv] 13802773: Downloading MPD manifest
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Available formats for 13802773:
ID                    EXT RESOLUTION FPS |   TBR PROTO | VCODEC        VBR ACODEC     ABR  ASR    MORE INFO
--------------------- --- ---------- --- - ----- ----- - ----------- ----- --------- ---- ------- --------------------------
dash-audio_fra=64000  m4a audio only     |   64k dash  |                   mp4a.40.2  64k 48000Hz [fr], DASH audio, m4a_dash
dash-audio_fra=128000 m4a audio only     |  128k dash  |                   mp4a.40.2 128k 48000Hz [fr], DASH audio, m4a_dash
dash-video=200033     mp4 416x234    25  |  200k dash  | avc1.42C01E  200k                        DASH video, mp4_dash
dash-video=400072     mp4 480x270    25  |  400k dash  | avc1.42C01E  400k                        DASH video, mp4_dash
dash-video=600100     mp4 640x360    25  |  600k dash  | avc1.42C01E  600k                        DASH video, mp4_dash
dash-video=1200222    mp4 1024x576   25  | 1200k dash  | avc1.4D401F 1200k                        DASH video, mp4_dash
dash-video=1700265    mp4 1024x576   25  | 1700k dash  | avc1.4D401F 1700k                        DASH video, mp4_dash
dash-video=2500406    mp4 1280x720   25  | 2500k dash  | avc1.4D401F 2500k                        DASH video, mp4_dash

yt-dlp -v -F "https://das-q1-ssl.tf1.fr/2/USP-0x0/27/73/13802773/ssm/6a2603d6515db50912cfb89b775467977b553a21ca27ae131180d424ecab3a73.ism/13802773.mpd?e=1631733432&max_bitrate=2700000&st=uIejdE925vcQ9GqvWS9w_Q"
[debug] Command-line config: ['-v', '-F', 'https://das-q1-ssl.tf1.fr/2/USP-0x0/27/73/13802773/ssm/6a2603d6515db50912cfb89b775467977b553a21ca27ae131180d424ecab3a73.ism/13802773.mpd?e=1631733432&max_bitrate=2700000&st=uIejdE925vcQ9GqvWS9w_Q']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] yt-dlp version 2021.09.02 (zip)
[debug] Python version 3.7.3 (CPython 64bit) - Linux-5.10.0-0.bpo.5-amd64-x86_64-with-debian-10.10
[debug] exe versions: ffmpeg 4.1.6-1, ffprobe 4.1.6-1, phantomjs 2.1.1, rtmpdump 2.4
[debug] Optional libraries: mutagen, sqlite
[debug] Proxy map: {}
[debug] [generic] Extracting URL: https://das-q1-ssl.tf1.fr/2/USP-0x0/27/73/13802773/ssm/6a2603d6515db50912cfb89b775467977b553a21ca27ae131180d424ecab3a73.ism/13802773.mpd?e=1631733432&max_bitrate=2700000&st=uIejdE925vcQ9GqvWS9w_Q
[generic] 13802773: Requesting header
WARNING: [generic] Falling back on generic information extractor.
[generic] 13802773: Downloading webpage
[generic] 13802773: Extracting information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[info] Available formats for 13802773:
ID               EXT RESOLUTION FPS |   TBR PROTO | VCODEC        VBR ACODEC     ABR  ASR    MORE INFO
---------------- --- ---------- --- - ----- ----- - ----------- ----- --------- ---- ------- --------------------------
audio_eng=64000  m4a audio only     |   64k dash  |                   mp4a.40.2  64k 48000Hz [en], DASH audio, m4a_dash
audio_fra=64000  m4a audio only     |   64k dash  |                   mp4a.40.2  64k 48000Hz [fr], DASH audio, m4a_dash
audio_eng=128000 m4a audio only     |  128k dash  |                   mp4a.40.2 128k 48000Hz [en], DASH audio, m4a_dash
audio_fra=128000 m4a audio only     |  128k dash  |                   mp4a.40.2 128k 48000Hz [fr], DASH audio, m4a_dash
video=200033     mp4 416x234    25  |  200k dash  | avc1.42C01E  200k                        DASH video, mp4_dash
video=400072     mp4 480x270    25  |  400k dash  | avc1.42C01E  400k                        DASH video, mp4_dash
video=600100     mp4 640x360    25  |  600k dash  | avc1.42C01E  600k                        DASH video, mp4_dash
video=1200222    mp4 1024x576   25  | 1200k dash  | avc1.4D401F 1200k                        DASH video, mp4_dash
video=1700265    mp4 1024x576   25  | 1700k dash  | avc1.4D401F 1700k                        DASH video, mp4_dash
video=2500406    mp4 1280x720   25  | 2500k dash  | avc1.4D401F 2500k                        DASH video, mp4_dash

```
<!--
Do not remove the above ```
-->

## Description

<!--
Provide an explanation of your issue in an arbitrary form. Provide any additional information, suggested solution and as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.
-->

On TF1.fr some videos are available with original audio in addition to the French dub, the latter being the default audio when playing the video in a browser.
However, yt-dlp does not currently detect any other audio streams than the default French, as shown in the first part of the log for the example video located at "https://www.tf1.fr/tf1/get-the-gringo/videos/kill-the-gringo-86959372.html" since all the currently detected audio streams are identified with "audio_fra=XXX" IDs whereas this video also has English audio.

I suspect that the problem is related to the detection or analysis of the mpd manifest of the video since English streams can be detected (and downloaded) when using yt-dlp with the url of the mpd manifest. Indeed, using the browser inspector and especially the network analysis, I have identified that the mpd manifest of the example video is located at "https://das-q1-ssl.tf1.fr/2/USP-0x0/27/73/13802773/ssm/6a2603d6515db50912cfb89b775467977b553a21ca27ae131180d424ecab3a73.ism/13802773.mpd?e=1631733432&max_bitrate=2700000&st=uIejdE925vcQ9GqvWS9w_Q". As shown in the second part of the log, when using yt-dlp with the mpd manifest url, original audio streams (in English) are detected and identified with "audio_eng=XXX" IDs. There is then no problem to download them when using the mpd url.

Additional information on TF1.fr:
- an account may be needed in order to watch the videos with a browser but creating this account only requires providing an email address and password. The account is not needed when using yt-dlp.
- videos are usually geo-restricted to France, as a consequence the use of a proxy may be needed to work on the issue outside of France
- many videos are time-limited (usually 7 days) when they are provided as part of the TV-catchup service but the example video above (and others I could provide if needed) should not have a time limit (or a very long one).


SonyLIV Premium Content giving 406 ERROR

### Checklist

- [X] I'm reporting a broken site
- [X] I've verified that I'm running yt-dlp version **2021.12.01**. ([update instructions](https://github.com/yt-dlp/yt-dlp#update))
- [X] I've checked that all provided URLs are alive and playable in a browser
- [X] I've checked that all URLs and arguments with special characters are [properly quoted or escaped](https://github.com/ytdl-org/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command)
- [X] I've searched the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues including closed ones. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [X] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and I'm willing to share it if required

### Region

_India_

### Description

Requesting support for SonyLIV to download the latest episodes .
->The content is a subscriber-only episode.
->The content is non DRM, I have verified.
->I have passed cookies from my premium account using --cookies.

Running URL :
https://www.sonyliv.com/shows/kaun-banega-crorepati-1700000195/fighting-all-odds-on-the-hot-seat-1000148334?watch=true

Gives an error 406.
I am running the latest version.

### Verbose log

```shell
[debug] Command-line config: ['https://www.sonyliv.com/shows/kaun-banega-crorepati-1700000195/fighting-all-odds-on-the-hot-seat-1000148334?watch=true', '--cookies', 'sony-cookie.txt', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2021.12.01 [91f071af6] (zip)
[debug] Python version 3.9.7 (CPython 64bit) - macOS-11.5.2-x86_64-i386-64bit
[debug] exe versions: ffmpeg 4.4 (setts), ffprobe 4.4, rtmpdump 2.4
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
[debug] Using fake IP 117.195.44.37 (IN) as X-Forwarded-For
[SonyLIV] Downloading JSON metadata
[debug] [SonyLIV] Extracting URL: https://www.sonyliv.com/shows/kaun-banega-crorepati-1700000195/fighting-all-odds-on-the-hot-seat-1000148334?watch=true
[SonyLIV] 1000148334: Downloading JSON metadata
ERROR: [SonyLIV] 1000148334: Unable to download JSON metadata: HTTP Error 406: Not Acceptable (caused by <HTTPError 406: 'Not Acceptable'>); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; type  yt-dlp -U  to update. Be sure to call yt-dlp with the --verbose flag and include its complete output. (caused by <HTTPError 406: 'Not Acceptable'>); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; type  yt-dlp -U  to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 715, in _request_webpage
    return self._downloader.urlopen(url_or_request)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3385, in urlopen
    return self._opener.open(req, timeout=self._socket_timeout)
  File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 523, in open
    response = meth(req, response)
  File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 632, in http_response
    response = self.parent.error(
  File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 561, in error
    return self._call_chain(*args)
  File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 494, in _call_chain
    result = func(*args)
  File "/usr/local/Cellar/python@3.9/3.9.7/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 641, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
```

2由于项目不完善导致的报错


Support NTS.live

### DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

- [X] I understand that I will be **blocked** if I *intentionally* remove or skip any mandatory\* field

### Checklist

- [X] I'm reporting a new site support request
- [X] I've verified that I have **updated yt-dlp to nightly or master** ([update instructions](https://github.com/yt-dlp/yt-dlp#update-channels))
- [X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
- [X] I've checked that none of provided URLs [violate any copyrights](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#is-the-website-primarily-used-for-piracy) or contain any [DRM](https://en.wikipedia.org/wiki/Digital_rights_management) to the best of my knowledge
- [X] I've searched [known issues](https://github.com/yt-dlp/yt-dlp/issues/3766) and the [bugtracker](https://github.com/yt-dlp/yt-dlp/issues?q=) for similar issues **including closed ones**. DO NOT post duplicates
- [X] I've read the [guidelines for opening an issue](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#opening-an-issue)
- [X] I've read about [sharing account credentials](https://github.com/yt-dlp/yt-dlp/blob/master/CONTRIBUTING.md#are-you-willing-to-share-account-details-if-needed) and am willing to share it if required

### Region

_No response_

### Example URLs

- Single embedded Soundcloud link: https://www.nts.live/shows/yu-su/episodes/yu-su-2nd-april-2024
- Single embedded Mixcloud link: https://www.nts.live/shows/absolute-fiction/episodes/absolute-fiction-23rd-july-2022

### Provide a description that is worded well enough to be understood

nts.live is an internet radio site with curated music mixes. As far as I know, the mixes are all hosted on Soundcloud or Mixcloud, and the site simply embeds an instance of one of the latter players.

### Provide verbose output that clearly demonstrates the problem

- [X] Run **your** yt-dlp command with **-vU** flag added (`yt-dlp -vU <your command line>`)
- [ ] If using API, add `'verbose': True` to `YoutubeDL` params instead
- [X] Copy the WHOLE output (starting with `[debug] Command-line config`) and insert it below

### Complete Verbose Output

```shell
[debug] Command-line config: ['-vU', 'https://www.nts.live/shows/yu-su/episodes/yu-su-2nd-april-2024']
[debug] User config "/home/<user>/.yt-dlp/config": ['--no-mtime', '--merge-output-format', 'mp4/mkv']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version stable@2024.03.10 from yt-dlp/yt-dlp [615a84447] (pip)
[debug] Python 3.10.12 (CPython x86_64 64bit) - Linux-<redacted>
[debug] exe versions: ffmpeg 4.4.2 (setts), ffprobe 4.4.2, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.17, brotli-1.0.9, certifi-2022.12.07, mutagen-1.46.0, requests-2.31.0, sqlite3-3.37.2, urllib3-2.1.0, websockets-12.0
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1803 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: stable@2024.03.10 from yt-dlp/yt-dlp
yt-dlp is up to date (stable@2024.03.10 from yt-dlp/yt-dlp)
[generic] Extracting URL: https://www.nts.live/shows/yu-su/episodes/yu-su-2nd-april-2024
[generic] yu-su-2nd-april-2024: Downloading webpage
WARNING: [generic] Falling back on generic information extractor
[generic] yu-su-2nd-april-2024: Extracting information
[debug] Looking for embeds
ERROR: Unsupported URL: https://www.nts.live/shows/yu-su/episodes/yu-su-2nd-april-2024
Traceback (most recent call last):
  File "/home/<user>/.local/pipx/venvs/yt-dlp/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1594, in wrapper
    return func(self, *args, **kwargs)
  File "/home/<user>/.local/pipx/venvs/yt-dlp/lib/python3.10/site-packages/yt_dlp/YoutubeDL.py", line 1729, in __extract_info
    ie_result = ie.extract(url)
  File "/home/<user>/.local/pipx/venvs/yt-dlp/lib/python3.10/site-packages/yt_dlp/extractor/common.py", line 732, in extract
    ie_result = self._real_extract(url)
  File "/home/<user>/.local/pipx/venvs/yt-dlp/lib/python3.10/site-packages/yt_dlp/extractor/generic.py", line 2530, in _real_extract
    raise UnsupportedError(url)
yt_dlp.utils.UnsupportedError: Unsupported URL: https://www.nts.live/shows/yu-su/episodes/yu-su-2nd-april-2024
```


### Expected Behavior

Generate image using Pulid with flux model

### Actual Behavior

Stops generation. Few hours earlier everything was fine

### Steps to Reproduce

[Pulid_workglow_v1.json](https://github.com/user-attachments/files/17777510/Pulid_workglow_v1.json)

### Debug Logs

```powershell
# ComfyUI Error Report
## Error Details
- **Node Type:** SamplerCustomAdvanced
- **Exception Type:** RuntimeError
- **Exception Message:** Boolean value of Tensor with more than one value is ambiguous
## Stack Trace

  File "/workspace/ComfyUI/execution.py", line 323, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/execution.py", line 198, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/execution.py", line 169, in _map_node_over_list
    process_inputs(input_dict, i)

  File "/workspace/ComfyUI/execution.py", line 158, in process_inputs
    results.append(getattr(obj, func)(**inputs))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy_extras/nodes_custom_sampler.py", line 633, in sample
    samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 740, in sample
    output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 719, in inner_sample
    samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 624, in sample
    samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/dist-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/k_diffusion/sampling.py", line 1058, in sample_deis
    denoised = model(x_cur, t_cur * s_in, **extra_args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 299, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 706, in __call__
    return self.predict_noise(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 709, in predict_noise
    return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 279, in sampling_function
    out = calc_cond_batch(model, conds, x, timestep, model_options)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/samplers.py", line 228, in calc_cond_batch
    output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/model_base.py", line 144, in apply_model
    model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/comfy/ldm/flux/model.py", line 181, in forward
    out = self.forward_orig(img, img_ids, context, txt_ids, timestep, y, guidance, control)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/workspace/ComfyUI/custom_nodes/ComfyUI-PuLID-Flux-Enhanced/pulidflux.py", line 113, in forward_orig
    if node_data['sigma_start'] >= timesteps >= node_data['sigma_end']:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

```
## System Information
- **ComfyUI Version:** v0.2.7-21-g3b9a6cf
- **Arguments:** main.py --listen 0.0.0.0 --port 3001
- **OS:** posix
- **Python Version:** 3.11.9 (main, Apr  6 2024, 17:59:24) [GCC 11.4.0]
- **Embedded Python:** false
- **PyTorch Version:** 2.4.0+cu121
## Devices

- **Name:** cuda:0 NVIDIA RTX A6000 : cudaMallocAsync
  - **Type:** cuda
  - **VRAM Total:** 51033931776
  - **VRAM Free:** 8504171346
  - **Torch VRAM Total:** 42177921024
  - **Torch VRAM Free:** 44522322

## Logs
```
2024-11-15T15:10:07.506380 - [START] Security scan2024-11-15T15:10:07.506419 -
2024-11-15T15:10:14.304713 - [DONE] Security scan2024-11-15T15:10:14.304749 -
2024-11-15T15:10:14.666461 - ## ComfyUI-Manager: installing dependencies done.2024-11-15T15:10:14.666711 -
2024-11-15T15:10:14.666906 - ** ComfyUI startup time:2024-11-15T15:10:14.667072 -  2024-11-15T15:10:14.667286 - 2024-11-15 15:10:14.6668072024-11-15T15:10:14.667467 -
2024-11-15T15:10:14.667646 - ** Platform:2024-11-15T15:10:14.667827 -  2024-11-15T15:10:14.668015 - Linux2024-11-15T15:10:14.668182 -
2024-11-15T15:10:14.668352 - ** Python version:2024-11-15T15:10:14.668498 -  2024-11-15T15:10:14.668676 - 3.11.9 (main, Apr  6 2024, 17:59:24) [GCC 11.4.0]2024-11-15T15:10:14.668833 -
2024-11-15T15:10:14.668989 - ** Python executable:2024-11-15T15:10:14.669143 -  2024-11-15T15:10:14.669299 - /workspace/ComfyUI/venv/bin/python32024-11-15T15:10:14.669440 -
2024-11-15T15:10:14.669604 - ** ComfyUI Path:2024-11-15T15:10:14.669753 -  2024-11-15T15:10:14.669908 - /workspace/ComfyUI2024-11-15T15:10:14.670052 -
2024-11-15T15:10:14.670240 - ** Log path:2024-11-15T15:10:14.670409 -  2024-11-15T15:10:14.670553 - /workspace/ComfyUI/comfyui.log2024-11-15T15:10:14.670711 -
2024-11-15T15:10:14.695455 -
Prestartup times for custom nodes:2024-11-15T15:10:14.695654 -
2024-11-15T15:10:14.695875 -    0.0 seconds:2024-11-15T15:10:14.696062 -  2024-11-15T15:10:14.696247 - /workspace/ComfyUI/custom_nodes/rgthree-comfy2024-11-15T15:10:14.696411 -
2024-11-15T15:10:14.696598 -    7.2 seconds:2024-11-15T15:10:14.696753 -  2024-11-15T15:10:14.696918 - /workspace/ComfyUI/custom_nodes/ComfyUI-Manager2024-11-15T15:10:14.697090 -
2024-11-15T15:10:14.697257 -
2024-11-15T15:10:17.991611 - Total VRAM 48670 MB, total RAM 1031687 MB
2024-11-15T15:10:17.991921 - pytorch version: 2.4.0+cu121
2024-11-15T15:10:22.112364 - /usr/local/lib/python3.11/dist-packages/xformers/ops/fmha/flash.py:211: FutureWarning: `torch.library.impl_abstract` was renamed to `torch.library.register_fake`. Please use that instead; we will remove `torch.library.impl_abstract` in a future version of PyTorch.
  @torch.library.impl_abstract("xformers_flash::flash_fwd")
2024-11-15T15:10:22.789455 - /usr/local/lib/python3.11/dist-packages/xformers/ops/fmha/flash.py:344: FutureWarning: `torch.library.impl_abstract` was renamed to `torch.library.register_fake`. Please use that instead; we will remove `torch.library.impl_abstract` in a future version of PyTorch.
  @torch.library.impl_abstract("xformers_flash::flash_bwd")
2024-11-15T15:10:23.157733 - xformers version: 0.0.27.post2
2024-11-15T15:10:23.158121 - Set vram state to: NORMAL_VRAM
2024-11-15T15:10:23.158371 - Device: cuda:0 NVIDIA RTX A6000 : cudaMallocAsync
2024-11-15T15:10:23.467250 - Using xformers cross attention
2024-11-15T15:10:28.313956 - [Prompt Server] web root: /workspace/ComfyUI/web
2024-11-15T15:10:30.360426 - /workspace/ComfyUI/venv/lib/python3.11/site-packages/kornia/feature/lightglue.py:44: FutureWarning: `torch.cuda.amp.custom_fwd(args...)` is deprecated. Please use `torch.amp.custom_fwd(args..., device_type='cuda')` instead.
  @torch.cuda.amp.custom_fwd(cast_inputs=torch.float32)
2024-11-15T15:10:31.565415 - Total VRAM 48670 MB, total RAM 1031687 MB
2024-11-15T15:10:31.565871 - pytorch version: 2.4.0+cu121
2024-11-15T15:10:31.566108 - xformers version: 0.0.27.post2
2024-11-15T15:10:31.566488 - Set vram state to: NORMAL_VRAM
2024-11-15T15:10:31.566752 - Device: cuda:0 NVIDIA RTX A6000 : cudaMallocAsync
2024-11-15T15:10:34.269461 - /workspace/ComfyUI/venv/lib/python3.11/site-packages/albumentations/__init__.py:13: UserWarning: A new version of Albumentations is available: 1.4.21 (you have 1.4.15). Upgrade using: pip install -U albumentations. To disable automatic update checks, set the environment variable NO_ALBUMENTATIONS_UPDATE to 1.
  check_for_updates()
2024-11-15T15:10:36.030672 - generated new fontManager
2024-11-15T15:10:38.280816 - /workspace/ComfyUI/venv/lib/python3.11/site-packages/timm/models/layers/__init__.py:48: FutureWarning: Importing from timm.models.layers is deprecated, please import via timm.layers
  warnings.warn(f"Importing from {__name__} is deprecated, please import via timm.layers", FutureWarning)
2024-11-15T15:10:38.304404 - Nvidia APEX normalization not installed, using PyTorch LayerNorm2024-11-15T15:10:38.304652 -
2024-11-15T15:10:38.637033 - [comfyui_controlnet_aux] | INFO -> Using ckpts path: /workspace/ComfyUI/custom_nodes/comfyui_controlnet_aux/ckpts
2024-11-15T15:10:38.637271 - [comfyui_controlnet_aux] | INFO -> Using symlinks: False
2024-11-15T15:10:38.637476 - [comfyui_controlnet_aux] | INFO -> Using ort providers: ['CUDAExecutionProvider', 'DirectMLExecutionProvider', 'OpenVINOExecutionProvider', 'ROCMExecutionProvider', 'CPUExecutionProvider', 'CoreMLExecutionProvider']
2024-11-15T15:10:38.928121 - DWPose: Onnxruntime with acceleration providers detected2024-11-15T15:10:38.928314 -
2024-11-15T15:10:39.359309 -
2024-11-15T15:10:39.359585 - [rgthree-comfy] Loaded 42 exciting nodes. 🎉2024-11-15T15:10:39.359786 -
2024-11-15T15:10:39.359987 -
2024-11-15T15:10:45.309073 - WAS Node Suite: OpenCV Python FFMPEG support is enabled2024-11-15T15:10:45.309329 -
2024-11-15T15:10:45.309623 - WAS Node Suite Warning: `ffmpeg_bin_path` is not set in `/workspace/ComfyUI/custom_nodes/was-node-suite-comfyui/was_suite_config.json` config file. Will attempt to use system ffmpeg binaries if available.2024-11-15T15:10:45.309812 -
2024-11-15T15:10:48.681237 - WAS Node Suite: Finished. Loaded 218 nodes successfully.2024-11-15T15:10:48.681597 -
2024-11-15T15:10:48.681918 -
	"Every artist was first an amateur." - Ralph Waldo Emerson
2024-11-15T15:10:48.682130 -
2024-11-15T15:10:50.489733 - [Crystools INFO] Crystools version: 1.21.0
2024-11-15T15:10:50.667784 - [Crystools INFO] CPU: Intel(R) Xeon(R) Gold 6238R CPU @ 2.20GHz - Arch: x86_64 - OS: Linux 6.5.0-41-generic
2024-11-15T15:10:50.668198 - [Crystools INFO] Pynvml (Nvidia) initialized.
2024-11-15T15:10:50.668654 - [Crystools INFO] GPU/s:
2024-11-15T15:10:50.668945 - [Crystools INFO] 0) NVIDIA RTX A6000
2024-11-15T15:10:50.669186 - [Crystools INFO] NVIDIA Driver: 550.54.14
2024-11-15T15:10:50.833539 - Creating new Ultralytics Settings v0.0.6 file ✅
View Ultralytics Settings with 'yolo settings' or at '/root/.config/Ultralytics/settings.json'
Update Settings with 'yolo settings key=value', i.e. 'yolo settings runs_dir=path/to/dir'. For help see https://docs.ultralytics.com/quickstart/#ultralytics-settings.
2024-11-15T15:10:51.536848 - ### Loading: ComfyUI-Impact-Pack (V7.11.3)2024-11-15T15:10:51.537021 -
2024-11-15T15:10:51.635434 - ### Loading: ComfyUI-Impact-Pack (Subpack: V0.8)2024-11-15T15:10:51.635602 -
2024-11-15T15:10:51.818086 - [Impact Pack] Wildcards loading done.2024-11-15T15:10:51.818259 -
2024-11-15T15:10:51.833380 - ### Loading: ComfyUI-Manager (V2.51.9)2024-11-15T15:10:51.833510 -
2024-11-15T15:10:51.998868 - ### ComfyUI Revision: 2829 [3b9a6cf2] | Released on '2024-11-13'2024-11-15T15:10:51.999022 -
2024-11-15T15:10:52.010212 -
Import times for custom nodes:
2024-11-15T15:10:52.010417 -    0.0 seconds: /workspace/ComfyUI/custom_nodes/websocket_image_save.py
2024-11-15T15:10:52.010570 -    0.0 seconds: /workspace/ComfyUI/custom_nodes/cg-use-everywhere
2024-11-15T15:10:52.010699 -    0.1 seconds: /workspace/ComfyUI/custom_nodes/comfy-image-saver
2024-11-15T15:10:52.010839 -    0.1 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI_UltimateSDUpscale
2024-11-15T15:10:52.010980 -    0.1 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI_essentials
2024-11-15T15:10:52.011120 -    0.1 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-GGUF
2024-11-15T15:10:52.011264 -    0.1 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-Custom-Scripts
2024-11-15T15:10:52.011382 -    0.2 seconds: /workspace/ComfyUI/custom_nodes/rgthree-comfy
2024-11-15T15:10:52.011516 -    0.2 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-Manager
2024-11-15T15:10:52.011641 -    0.3 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-Impact-Pack
2024-11-15T15:10:52.011771 -    0.3 seconds: /workspace/ComfyUI/custom_nodes/comfyui_controlnet_aux
2024-11-15T15:10:52.011923 -    0.7 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-KJNodes
2024-11-15T15:10:52.012058 -    0.9 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-AdvancedLivePortrait
2024-11-15T15:10:52.012186 -    2.0 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-Crystools
2024-11-15T15:10:52.012301 -    6.1 seconds: /workspace/ComfyUI/custom_nodes/ComfyUI-PuLID-Flux-Enhanced
2024-11-15T15:10:52.012421 -    9.3 seconds: /workspace/ComfyUI/custom_nodes/was-node-suite-comfyui
2024-11-15T15:10:52.012541 -
2024-11-15T15:10:52.030777 - Starting server

2024-11-15T15:10:52.031183 - To see the GUI go to: http://0.0.0.0:3001
2024-11-15T15:10:52.067762 - [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json2024-11-15T15:10:52.067937 -
2024-11-15T15:10:52.076078 - [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json2024-11-15T15:10:52.076222 -
2024-11-15T15:10:52.094295 - [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json2024-11-15T15:10:52.094425 -
2024-11-15T15:10:52.133768 - [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json2024-11-15T15:10:52.133914 -
2024-11-15T15:10:52.179770 - [ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json2024-11-15T15:10:52.179921 -
2024-11-15T15:12:56.132631 - FETCH DATA from: /workspace/ComfyUI/custom_nodes/ComfyUI-Manager/extension-node-map.json2024-11-15T15:12:56.132991 - 2024-11-15T15:12:56.144376 -  [DONE]2024-11-15T15:12:56.144542 -
2024-11-15T15:13:14.903062 - got prompt
2024-11-15T15:13:23.615984 - Using xformers attention in VAE
2024-11-15T15:13:23.619955 - Using xformers attention in VAE
2024-11-15T15:13:27.463924 - Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}2024-11-15T15:13:27.464130 -
2024-11-15T15:13:27.658365 - find model:2024-11-15T15:13:27.658531 -  2024-11-15T15:13:27.658645 - /workspace/ComfyUI/models/insightface/models/antelopev2/1k3d68.onnx2024-11-15T15:13:27.658802 -  2024-11-15T15:13:27.658921 - landmark_3d_682024-11-15T15:13:27.659051 -  2024-11-15T15:13:27.659182 - ['None', 3, 192, 192]2024-11-15T15:13:27.659319 -  2024-11-15T15:13:27.659442 - 0.02024-11-15T15:13:27.659558 -  2024-11-15T15:13:27.659678 - 1.02024-11-15T15:13:27.659787 -
2024-11-15T15:13:27.794506 - Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}2024-11-15T15:13:27.794680 -
2024-11-15T15:13:27.806739 - find model:2024-11-15T15:13:27.806880 -  2024-11-15T15:13:27.807020 - /workspace/ComfyUI/models/insightface/models/antelopev2/2d106det.onnx2024-11-15T15:13:27.807171 -  2024-11-15T15:13:27.807288 - landmark_2d_1062024-11-15T15:13:27.807407 -  2024-11-15T15:13:27.807522 - ['None', 3, 192, 192]2024-11-15T15:13:27.807629 -  2024-11-15T15:13:27.807732 - 0.02024-11-15T15:13:27.807836 -  2024-11-15T15:13:27.807968 - 1.02024-11-15T15:13:27.808093 -
2024-11-15T15:13:27.878881 - Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}2024-11-15T15:13:27.879064 -
2024-11-15T15:13:27.883868 - find model:2024-11-15T15:13:27.884070 -  2024-11-15T15:13:27.884235 - /workspace/ComfyUI/models/insightface/models/antelopev2/genderage.onnx2024-11-15T15:13:27.884406 -  2024-11-15T15:13:27.884569 - genderage2024-11-15T15:13:27.884718 -  2024-11-15T15:13:27.884867 - ['None', 3, 96, 96]2024-11-15T15:13:27.885012 -  2024-11-15T15:13:27.885142 - 0.02024-11-15T15:13:27.885272 -  2024-11-15T15:13:27.885418 - 1.02024-11-15T15:13:27.885546 -
2024-11-15T15:13:30.280279 - Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}2024-11-15T15:13:30.280424 -
2024-11-15T15:13:30.604582 - find model:2024-11-15T15:13:30.604745 -  2024-11-15T15:13:30.604894 - /workspace/ComfyUI/models/insightface/models/antelopev2/glintr100.onnx2024-11-15T15:13:30.605035 -  2024-11-15T15:13:30.605176 - recognition2024-11-15T15:13:30.605303 -  2024-11-15T15:13:30.605458 - ['None', 3, 112, 112]2024-11-15T15:13:30.605586 -  2024-11-15T15:13:30.605717 - 127.52024-11-15T15:13:30.605842 -  2024-11-15T15:13:30.605938 - 127.52024-11-15T15:13:30.606042 -
2024-11-15T15:13:30.805291 - Applied providers: ['CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}}2024-11-15T15:13:30.805496 -
2024-11-15T15:13:30.805866 - find model:2024-11-15T15:13:30.806346 -  2024-11-15T15:13:30.806497 - /workspace/ComfyUI/models/insightface/models/antelopev2/scrfd_10g_bnkps.onnx2024-11-15T15:13:30.806641 -  2024-11-15T15:13:30.806772 - detection2024-11-15T15:13:30.806890 -  2024-11-15T15:13:30.807067 - [1, 3, '?', '?']2024-11-15T15:13:30.807207 -  2024-11-15T15:13:30.807728 - 127.52024-11-15T15:13:30.808817 -  2024-11-15T15:13:30.808966 - 128.02024-11-15T15:13:30.809095 -
2024-11-15T15:13:30.809248 - set det-size:2024-11-15T15:13:30.809382 -  2024-11-15T15:13:30.809514 - (640, 640)2024-11-15T15:13:30.809634 -
2024-11-15T15:13:30.810521 - Loaded EVA02-CLIP-L-14-336 model config.
2024-11-15T15:13:30.929776 - Shape of rope freq: torch.Size([576, 64])
2024-11-15T15:13:46.076137 - Loading pretrained EVA02-CLIP-L-14-336 weights (eva_clip).
2024-11-15T15:13:48.288170 - incompatible_keys.missing_keys: ['visual.rope.freqs_cos', 'visual.rope.freqs_sin', 'visual.blocks.0.attn.rope.freqs_cos', 'visual.blocks.0.attn.rope.freqs_sin', 'visual.blocks.1.attn.rope.freqs_cos', 'visual.blocks.1.attn.rope.freqs_sin', 'visual.blocks.2.attn.rope.freqs_cos', 'visual.blocks.2.attn.rope.freqs_sin', 'visual.blocks.3.attn.rope.freqs_cos', 'visual.blocks.3.attn.rope.freqs_sin', 'visual.blocks.4.attn.rope.freqs_cos', 'visual.blocks.4.attn.rope.freqs_sin', 'visual.blocks.5.attn.rope.freqs_cos', 'visual.blocks.5.attn.rope.freqs_sin', 'visual.blocks.6.attn.rope.freqs_cos', 'visual.blocks.6.attn.rope.freqs_sin', 'visual.blocks.7.attn.rope.freqs_cos', 'visual.blocks.7.attn.rope.freqs_sin', 'visual.blocks.8.attn.rope.freqs_cos', 'visual.blocks.8.attn.rope.freqs_sin', 'visual.blocks.9.attn.rope.freqs_cos', 'visual.blocks.9.attn.rope.freqs_sin', 'visual.blocks.10.attn.rope.freqs_cos', 'visual.blocks.10.attn.rope.freqs_sin', 'visual.blocks.11.attn.rope.freqs_cos', 'visual.blocks.11.attn.rope.freqs_sin', 'visual.blocks.12.attn.rope.freqs_cos', 'visual.blocks.12.attn.rope.freqs_sin', 'visual.blocks.13.attn.rope.freqs_cos', 'visual.blocks.13.attn.rope.freqs_sin', 'visual.blocks.14.attn.rope.freqs_cos', 'visual.blocks.14.attn.rope.freqs_sin', 'visual.blocks.15.attn.rope.freqs_cos', 'visual.blocks.15.attn.rope.freqs_sin', 'visual.blocks.16.attn.rope.freqs_cos', 'visual.blocks.16.attn.rope.freqs_sin', 'visual.blocks.17.attn.rope.freqs_cos', 'visual.blocks.17.attn.rope.freqs_sin', 'visual.blocks.18.attn.rope.freqs_cos', 'visual.blocks.18.attn.rope.freqs_sin', 'visual.blocks.19.attn.rope.freqs_cos', 'visual.blocks.19.attn.rope.freqs_sin', 'visual.blocks.20.attn.rope.freqs_cos', 'visual.blocks.20.attn.rope.freqs_sin', 'visual.blocks.21.attn.rope.freqs_cos', 'visual.blocks.21.attn.rope.freqs_sin', 'visual.blocks.22.attn.rope.freqs_cos', 'visual.blocks.22.attn.rope.freqs_sin', 'visual.blocks.23.attn.rope.freqs_cos', 'visual.blocks.23.attn.rope.freqs_sin']
2024-11-15T15:13:51.867986 - Loading PuLID-Flux model.
2024-11-15T15:14:01.781958 - model weight dtype torch.bfloat16, manual cast: None
2024-11-15T15:14:01.783274 - model_type FLUX
2024-11-15T15:14:57.687329 - /workspace/ComfyUI/venv/lib/python3.11/site-packages/insightface/utils/transform.py:68: FutureWarning: `rcond` parameter will change to the default of machine precision times ``max(M, N)`` where M and N are the input matrix dimensions.
To use the future default and silence this warning we advise to pass `rcond=None`, to keep using the old, explicitly pass `rcond=-1`.
  P = np.linalg.lstsq(X_homo, Y)[0].T # Affine matrix. 3 x 4
2024-11-15T15:15:17.860517 - Requested to load FluxClipModel_
2024-11-15T15:15:17.860863 - Loading 1 new model
2024-11-15T15:16:01.924433 - loaded completely 0.0 9320.35888671875 True
2024-11-15T15:16:02.546263 - Requested to load ControlNetFlux
2024-11-15T15:16:02.546512 - Requested to load Flux
2024-11-15T15:16:02.546655 - Loading 2 new models
2024-11-15T15:16:04.190233 - loaded completely 0.0 6297.97265625 True
2024-11-15T15:16:11.191997 - loaded completely 0.0 23500.488403320312 True
2024-11-15T15:16:11.285167 -
  0%|          | 0/25 [00:00<?, ?it/s]2024-11-15T15:16:11.375186 - Requested to load AutoencodingEngine
2024-11-15T15:16:11.375480 - Loading 1 new model
2024-11-15T15:16:11.542628 - loaded completely 0.0 159.87335777282715 True
2024-11-15T15:16:12.035048 -
  0%|          | 0/25 [00:00<?, ?it/s]2024-11-15T15:16:12.035194 -
2024-11-15T15:16:12.038298 - !!! Exception during processing !!! Boolean value of Tensor with more than one value is ambiguous
2024-11-15T15:16:12.058483 - Traceback (most recent call last):
  File "/workspace/ComfyUI/execution.py", line 323, in execute
    output_data, output_ui, has_subgraph = get_output_data(obj, input_data_all, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/execution.py", line 198, in get_output_data
    return_values = _map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True, execution_block_cb=execution_block_cb, pre_execute_cb=pre_execute_cb)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/execution.py", line 169, in _map_node_over_list
    process_inputs(input_dict, i)
  File "/workspace/ComfyUI/execution.py", line 158, in process_inputs
    results.append(getattr(obj, func)(**inputs))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy_extras/nodes_custom_sampler.py", line 633, in sample
    samples = guider.sample(noise.generate_noise(latent), latent_image, sampler, sigmas, denoise_mask=noise_mask, callback=callback, disable_pbar=disable_pbar, seed=noise.seed)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 740, in sample
    output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 719, in inner_sample
    samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 624, in sample
    samples = self.sampler_function(model_k, noise, sigmas, extra_args=extra_args, callback=k_callback, disable=disable_pbar, **self.extra_options)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/torch/utils/_contextlib.py", line 116, in decorate_context
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/k_diffusion/sampling.py", line 1058, in sample_deis
    denoised = model(x_cur, t_cur * s_in, **extra_args)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 299, in __call__
    out = self.inner_model(x, sigma, model_options=model_options, seed=seed)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 706, in __call__
    return self.predict_noise(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 709, in predict_noise
    return sampling_function(self.inner_model, x, timestep, self.conds.get("negative", None), self.conds.get("positive", None), self.cfg, model_options=model_options, seed=seed)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 279, in sampling_function
    out = calc_cond_batch(model, conds, x, timestep, model_options)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/samplers.py", line 228, in calc_cond_batch
    output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/model_base.py", line 144, in apply_model
    model_output = self.diffusion_model(xc, t, context=context, control=control, transformer_options=transformer_options, **extra_conds).float()
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py", line 1553, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/torch/nn/modules/module.py", line 1562, in _call_impl
    return forward_call(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/comfy/ldm/flux/model.py", line 181, in forward
    out = self.forward_orig(img, img_ids, context, txt_ids, timestep, y, guidance, control)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/workspace/ComfyUI/custom_nodes/ComfyUI-PuLID-Flux-Enhanced/pulidflux.py", line 113, in forward_orig
    if node_data['sigma_start'] >= timesteps >= node_data['sigma_end']:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: Boolean value of Tensor with more than one value is ambiguous

2024-11-15T15:16:12.062181 - Prompt executed in 170.11 seconds

```
## Attached Workflow
Please make sure that workflow does not contain any sensitive information such as API keys or passwords.
```
Workflow too large. Please manually upload the workflow from local file system.
```

## Additional Context
(Please add any additional context or steps to reproduce the error here)
```

### Other

_No response_


Support wildcard type "*" in ComfyUI core

### Feature Idea

There are many custom nodes that currently hacking the string comparison to achieve wildcard type ("*"). This implementation is very hacky and hard to debug. We should properly support wildcard types in ComfyUI core.

### Existing Solutions

- https://github.com/pythongosssss/ComfyUI-Custom-Scripts/blob/d6657cc1f04539dbeea38d7bf6d73bc025004fa4/py/repeater.py
- https://github.com/FredBill1/comfyui-fb-utils/blob/main/core/types.py

### Other

_No response_


Feature Request: Support Differential Diffusion for inpainting.

This is a nice alternative to standard inpainting, it allows for the mask to be a gradient for control of strength on top of denoising.

https://github.com/exx8/differential-diffusion


* face_recognition version: 1.0.0
* Python version: 2.7
* Operating System: mac EI Capitan 10.11.6

### Description
after install the face_recognition, I tried to run examples/facerec_from_webcam_faster.py, but it show error as following:

Traceback (most recent call last):
  File "/Users/johnwang/workspace/PycharmProjects/Demo1/Face_Recognizer.py", line 18, in <module>
    obama_image = face_recognition.load_image_file("obama.jpg")
  File "/Library/Python/2.7/site-packages/face_recognition/api.py", line 81, in load_image_file
    return scipy.misc.imread(file, mode=mode)
TypeError: imread() got an unexpected keyword argument 'mode'

and I checked the scipy version and tried to upgrade, and scipy version which I installed is already 1.0.0
johns-MacBook-Pro:kaggle johnwang$ pip install --upgrade scipy
Requirement already up-to-date: scipy in /Library/Python/2.7/site-packages
Requirement already up-to-date: numpy>=1.8.2 in /Library/Python/2.7/site-packages (from scipy)

could you help on this problem? thanks in advance.


PIL/Image.py - ValueError: height and width must be > 0

* face_recognition version: latest
* Python version: import dlib works for Python 2 and 3
* Operating System: Ubuntu 16.04.2 LTS

### Description

known_people directory has three images of each of four different people
pic1.jpg has 10 unidentified people in it, 2 of which are in known_people
pic2.jpg has 4 unidentified people in it, 1 of which is in known_people

### What I Did

```
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```
gpu@gpu:~$ face_recognition known_people pic1.jpg
Traceback (most recent call last):
  File "/usr/local/bin/face_recognition", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/face_recognition/cli.py", line 66, in main
    test_image(image_to_check, known_names, known_face_encodings)
  File "/usr/local/lib/python2.7/dist-packages/face_recognition/cli.py", line 40, in test_image
    unknown_image = scipy.misc.imresize(unknown_image, scale_factor)
  File "/usr/local/lib/python2.7/dist-packages/scipy/misc/pilutil.py", line 490, in imresize
    imnew = im.resize(size, resample=func[interp])
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1645, in resize
    return self._new(self.im.resize(size, resample))
ValueError: height and width must be > 0

gpu@gpu:~$ face_recognition known_people pic2.jpg
Traceback (most recent call last):
  File "/usr/local/bin/face_recognition", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/face_recognition/cli.py", line 66, in main
    test_image(image_to_check, known_names, known_face_encodings)
  File "/usr/local/lib/python2.7/dist-packages/face_recognition/cli.py", line 40, in test_image
    unknown_image = scipy.misc.imresize(unknown_image, scale_factor)
  File "/usr/local/lib/python2.7/dist-packages/scipy/misc/pilutil.py", line 490, in imresize
    imnew = im.resize(size, resample=func[interp])
  File "/usr/local/lib/python2.7/dist-packages/PIL/Image.py", line 1645, in resize
    return self._new(self.im.resize(size, resample))
ValueError: height and width must be > 0


🏅飞桨套件快乐开源常规赛

## 活动说明
飞桨套件快乐开源常规赛活动旨在让众多开发者能参与到各大CV/NLP套件的建设工作中（也是我们原有Issue攻关活动的升级版本），包括不限于新增基础功能、论文复现、Issue回复等，任何有利于社区意见流动和问题解决的行为都热切希望大家的参与。让我们共同成长为成为飞桨CV/NLP套件的重要contributors。🎉🎉

在套件快乐开源常规赛活动中，我们会结合技术研讨和任务发布两种活动形式互相促进。任何愿意参与社区贡献（新增代码、Issue解答等），对增长在分割、OCR方向（后续我们会持续开放包括图像检测、部署、图像分类、3D、自然语言处理等方向）知识感兴趣的开发者都可以加入😊。在这个过程中，**让大家保持对各大视觉方向知识的持续积累是我们的不变的主旨**🔥。

## 技术研讨会
为了帮助大家循序渐进地了解、建议、开发飞桨模型方向的开源项目，我们搭建了技术研讨会，参与活动的开发者每周可以参与到飞桨RD分享的技术研讨会中，研讨内容包括不限于：
1. 套件代码结构剖析，read the code。
2. OCR、Segmentation方向算法综述分享。
3. OCR、Segmentation方向前沿论文解读。
4. 讨论新增需求的重要程度，让你的发言推动飞桨套件的发展。

## 活动价值
研讨会学习的知识可以帮助大家参与我们的各项代码和Issue解答任务，任务完成排行榜将在下方每天更新，期待大家的参与。完成任务的贡献者可以获得：
1. 技术提升：学习行业内的新动态新方向，让自己的技术实力得以提升；
2. 荣誉奖励：
  a. 成为极具影响力的视觉套件的重要contributor。
  b. 获得开源贡献证书、社区曝光度、奖状徽章等；
  c. 快乐开源共享奖品，包括PS5，airpods等。
3. 优秀的开源贡献者可以获得实习内推机会，成为飞桨模型套件方向实习生；

## 任务攻克排行榜（Issue解答、代码开发）
| 开发者github id | issue解答数量 | 解答issue 产生的PR数量 （🌟）| 完成命题任务的数量 （:dart:）|
| --- | --- | --- | --- |
| 冲呀呀呀-[livingbody](https://github.com/livingbody) | 41 |   🌟   |   :dart:  :dart:|
| ToddBear | 11 |   | :dart:  :dart: |
| 强盛大队-[MINGtoMING](https://github.com/MINGtoMING)  |   |   | :dart: :dart: |
| 曲项向天歌-[Asthestarsfalll](https://github.com/Asthestarsfalll)| 69 |  🌟 🌟 🌟  🌟  🌟  🌟  |   :dart:   |
| 德布罗意波-[marshall-dteach](https://github.com/marshall-dteach)| 3 |     |  :dart:     |
| flytocc  |   |  |  :dart:  |
| [Liyulingyue](https://github.com/Liyulingyue) | 2 | 🌟 🌟  |
| 冲锋小队-[Gmgge](https://github.com/Gmgge)| 7 |  🌟   |     | |
| 风清扬-[WilliamQf-AI](https://github.com/WilliamQf-AI) | 6 |  🌟   |     |
| GreatX-[GreatV](https://github.com/GreatV)| 4 |  🌟   |     |
| [kerneltravel](https://github.com/kerneltravel) | 1 | 🌟 |  |
| [xu-peng-7](https://github.com/xu-peng-7) | 1 | 🌟  |  |
| 明月心-[raoyutian](https://github.com/raoyutian)| 8 |     |     |
|  [bltcn]([bltcn](https://github.com/bltcn))   |   1    |     |  |

## 任务列表

#### 1. 命题任务（持续更新中）：

命题任务是我们经过在 https://github.com/PaddlePaddle/PaddleOCR/issues/10334 进行需求征集、在技术研讨会上经过大家讨论确定重要的需求。欢迎对这些需求也感兴趣的开发者参与到这些任务的开发✌✌。在开发过程中，你能进行包括任务分解、代码撰写等工作，还会有飞桨的研发全程和你一起解决可能遇到的问题。还等什么，快来参与吧。🎉🎉

* 做任务流程：
    1. 在本条Issue页面进行报名。
    2. 加一下飞桨套件研发的微信：transy-k，加入到CV套件建设总群，在完成任务中有任何问题都可以进行反馈，会有模型套件方向的RD进行解答。
    3. 完成任务后，在任务对应跟踪Issue页面进行回复完成，RD验收通过后即视作完成，并在当天更新在issue排行榜。

* 任务达成标准：完成尽可能多的任务，完成情况每天都会更新到任务攻克总榜（Issue解答、代码开发），完成命题任务的数量由:dart:认证

* 任务列表

#### 23年Q4任务

| 任务名称
（需求提出者）                                                     | 任务描述                                                     | tracking issue                                               | mentor                                                       | 报名                                                       |
| ------------------------------------------------------------ | ------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| MedicalSeg增加滑窗推理功能（@tangshiyu）|  3D医疗图像中缺少滑窗推理推理功能，滑窗推理可以进一步增强任意模型的精度  | [PaddleSeg#3536](https://github.com/PaddlePaddle/PaddleSeg/issues/3536)|   @shiyutang   |   |
|~~新增early stop功能 （@tangshiyu）~~| ~~early stop作为一种正则化的工具，可以用于模型开发的优化过程中，作为新增功能增加paddleseg中| [PaddleSeg#3537](https://github.com/PaddlePaddle/PaddleSeg/issues/3537)~~ |  @shiyutang    |  @ooooo-create (已完成) |
|增加类激活图 （@tangshiyu）| 激活图可视化能够可以帮助理解深度学习模型任务中的决策过程。通过观察模型关注的区域，可以了解模型是如何根据不同区域的特征来进行分类决策的，是一项十分有意义且重要的功能| [PaddleSeg#3538](https://github.com/PaddlePaddle/PaddleSeg/issues/3538) |  @shiyutang    |   |
|增加训练图像、推理图像、标签图像可视化（@Wst-sd）| 飞桨支持强大的训练可视化工具VisualDL，用于记录和监控训练过程，可以在每次模型保存过程中，增加训练图像、推理图像、标签图像可视化，更直观地感受训练效果| [PaddleSeg#3545](https://github.com/PaddlePaddle/PaddleSeg/issues/3545) |  @shiyutang    |   |
|CAT-Seg (CVPR'2023)模型复现（@tangshiyu） | CAT-Seg是open-vocabulary semantic segmentation的前沿模型，其提出了一种cost aggregation方法将CLIP表征应用于像素级分割任务，在多个数据集上达到了开放集分割的SOTA| [PaddleSeg#3535](https://github.com/PaddlePaddle/PaddleSeg/issues/3535) |  @shiyutang    |   |
|VPD模型+下游任务（视觉感知、图像分割、深度估计）（@tangshiyu） | VPD是结合Diffusion Models的图文预训练模型，可以广泛的应用于下游任务，如视觉感知、图像分割、深度估计等等，且均取得了不错的效果。可以将VPD接入PaddleSeg中，并应用于下游任务中| [PaddleSeg#3540](https://github.com/PaddlePaddle/PaddleSeg/issues/3540) |  @shiyutang    |   |
|新增图文对话模型X-GPT （@tangshiyu）| X-Decoder 集成了图像理解的多类任务，结合GPT和SD相关生成模型就可以实现All-in-One的图文对话式agnet| [PaddleSeg#3541](https://github.com/PaddlePaddle/PaddleSeg/issues/3541) |  @shiyutang    |   |
|验证并提升SAM+Clip在语义分割场景下的zero-shot分割精度 （@tangshiyu）| 以语义分割为代表的视觉任务存在泛化性差的问题，即每次在新数据上都需要重新训练。大模型的发展利用图文链接的形式大大提升了模型的泛化性，但是[前沿论文](https://paperswithcode.com/paper/learning-mask-aware-clip-representations-for)对于zero-shot的研究表明，完全的zero-shot的分割精度依旧较低。因此我们借用clip中对zero-shot的定义，即在未见过的图片而非是未见过的类别上，查看CLIP+SAM模型的分割效果（这一定义也十分有实用意义），并借用[前沿论文](https://paperswithcode.com/paper/learning-mask-aware-clip-representations-for)的思想对baseline进一步优化。这一举动将验证并优化语义分割模型在未见过的数据上的泛化性| [PaddleSeg#3542](https://github.com/PaddlePaddle/PaddleSeg/issues/3542) |  @shiyutang    |   |
| 【Bug Fix】humanseg显存泄漏（@enemy1205）|  使用PaddleSeg进行[人像分割](https://github.com/PaddlePaddle/PaddleSeg/tree/release/2.8/contrib/PP-HumanSeg)时，对大批量数据进行人像分割推理时，内存释放不充分，出现内存堆积问题，触发Linux OOM机制导致程序被kill。 |  [PaddleSeg#3543](https://github.com/PaddlePaddle/PaddleSeg/issues/3543)     |   @shiyutang   |   |
| 【Bug Fix】modnet推理问题（@munibkhanali）|  使用modnet进行image matting，在将其转换为 paddlelite 兼容模型时，出现报错，具体参考（[#3477](https://github.com/PaddlePaddle/PaddleSeg/issues/3477)）  |  [PaddleSeg#3544](https://github.com/PaddlePaddle/PaddleSeg/issues/3544)     |   @shiyutang   |   |
| ~~补充Satrn识别模型文档（@tangshiyu）~~|  新增的Satrn识别模型缺少说明文档，适合开源贡献经历较少的同学了解提交PR过程并熟悉OCR文档  |  [PaddleOCR#11131](https://github.com/PaddlePaddle/PaddleOCR/issues/11131)     |   @shiyutang   |  @wkml |
| 补充Satrn识别模型TIPC（@tangshiyu）|  新增的Satrn模型缺少TIPC，完成tipc有利于上手训推全流程自动化脚本验证过程  |  [PaddleOCR#11133](https://github.com/PaddlePaddle/PaddleOCR/issues/11133)     |   @shiyutang   |   |
| 增加多卡评估（@flytocc）|  目前PaddleDetection仅支持单卡评估，希望支持多卡评估  |  [PaddleDet#8682](https://github.com/PaddlePaddle/PaddleDetection/issues/8682)     |   @shiyutang   | @MINGtoMING   |
| 为PaddleOCR增加训练时周期性验证的开关（@tangshiyu）|  为PaddleOCR增加训练时周期性验证的开关；为PaddleOCR增加eval_epoch_step参数。与PaddleCV的其它基础套件PaddleSeg、PaddleDetection、PaddleClas、Paddle3D等不同，PaddleOCR不支持上述功能，这导致包括但不限于如下问题：用户有时只想要将模型训练一定的迭代轮数，并不希望在训练时进行精度评估（这可能带来额外的时间开销），而目前PaddleOCR无法优雅地满足这个需求，只能通过设定一个较大的eval_batch_step数值来实现。更换数据集后，由于数据集大小发生改变，用户往往也需要修改eval_batch_step配置，以使得eval频率合适。PaddleOCR中实现的是epoch-based trainer，在配置文件中设置的也是epoch_num而不是num_iters，但eval_batch_step却是iters粒度的控制，存在风格不契合的问题。 |  [PaddleOCR#11132](https://github.com/PaddlePaddle/PaddleOCR/issues/11132)     |   @shiyutang   |   |

#### 23年Q3任务

| 任务名称
（需求提出者）                                                     | 任务描述                                                     | tracking issue                                               | mentor                                                       | 报名                                                       |
| ------------------------------------------------------------ | ------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| ~~文字识别返回单字识别坐标（@EasyIsAllYouNeed @WilliamQf-AI，已完成）~~  |  在文本识别之后，增加对单字位置坐标的返回，可以用于文档比对、合同篡改等大量场景中。  |  [PaddleOCR#10377](https://github.com/PaddlePaddle/PaddleOCR/issues/10377)     |   @shiyutang   |  @ToddBear  #10515 |
|~~套件一致性计划 **任务有更新为两个子任务**（@Bobholamovic ）~~ | 各大CV套件目前在依赖库、模型保存路径等问题上存在很多不一致性，导致没有办法达到环境统一，使用知识迁移等效果，体验效果变差。此任务致力解决这个问题，同时解决难度不高，是一个非常适合上手的任务| [PaddleOCR#10380](https://github.com/PaddlePaddle/PaddleOCR/issues/10380) |  @shiyutang  @Bobholamovic   | @livingbody   |
| ~~【论文复现】Segment Anything 加速版 MobileSAM（@[qiaoyu1002](https://github.com/qiaoyu1002) （已完成）~~ | 根据原作者提出的issue https://github.com/PaddlePaddle/PaddleSeg/issues/3346， 复现论文[MobileSAM](https://arxiv.org/pdf/2306.14289.pdf)。该模型为火爆的SAM模型的加速版本，大大提升了SAM的使用体验，该模型目前已经有2.9k star，模型、代码已经开源，只需进行前向对齐即可 | [PaddleOCR#10451](https://github.com/PaddlePaddle/PaddleOCR/issues/10451) | @shiyutang |  @Asthestarsfalll [PaddleSeg#3349](https://github.com/PaddlePaddle/PaddleSeg/pull/3349) |
| ~~【论文复现】OCR识别模型[Parseq](https://arxiv.org/abs/2207.06966)（@printfxs）（已完成）~~ | 该模型将视觉和语义信息结合，实现精度和速度的双重提升，对比前沿模型SVTR有进一步优势 | [PaddleOCR#10452](https://github.com/PaddlePaddle/PaddleOCR/issues/10452) | @shiyutang |  @ToddBear   |
|~~【论文复现】检测模型策略--基于PPDET Deformable DETR复现SQR增强策略(@lyuwenyu )~~  | 为Paddledet增加前沿策略SQR，可以应用在多个模型中 | [PaddleDetection#8498](https://github.com/PaddlePaddle/PaddleDetection/issues/8498)  | @shiyutang @juncaipeng  | @flytocc |
 |~~【论文复现】分类模型--多标签分类任务ML-Decoder (@cuicheng01  @zhangyubo0722)（已完成）~~| 该论文提出的可扩展通用分类头在多标签分类、zero-sho以及单标签分类任务上表现出很好的效果。本任务的完成可以扩充PaddleClas多标签分类相关视觉任务，并有众多应用场景。作者团队基于不同数据集验证不同任务的性能，充分证明ML-Decoder分类头的性能以及泛用性。 | [PaddleClas#2896](https://github.com/PaddlePaddle/PaddleClas/issues/2896)  | @cuicheng01 @shiyutang   |  @MINGtoMING  |
|【模型压缩推全计划】为六大套件新增模型压缩功能（@shiyutang）| 目前各套件的模型压缩能力参差不齐，而模型压缩作为部署之前的一步，可以在不损害或者少量损害模型精度的情况下，对模型的能耗，速度、大小都有显著的改善。因此为了对各套件的模型压缩进行推全，我们提出了基于PaddleSlim的ACT为各大套件新增模型压缩功能的计划。| [PaddleOCR#10657](https://github.com/PaddlePaddle/PaddleOCR/issues/10657) | @shiyutang | 在issue页面报名 |
 | ~~为PaddleSeg添加多标签语义分割的功能（@Wulx2050）~~| 多标签分割是分割中的一个分支，常用于医疗分割中，通过修改分割头和损失函数即可实现。| [PaddleSeg#3456](https://github.com/PaddlePaddle/PaddleSeg/issues/3456) | @shiyutang  | @MINGtoMING |

#### 2. Good first issue
* 任务说明：通常是一些对于文档不熟悉、代码运行报错、bug 的修复等，你可以通过完成这个 ISSUE/PR 来踏出贡献代码的第一步。

* 做任务流程：
    1. 在本条Issue页面进行报名。
    2. 加一下飞桨套件研发的微信：transy-k 加入到CV套件建设总群，在完成任务中有任何问题都可以进行反馈，会有模型套件方向的RD进行解答。
    3. 回复issue，认为回答正确后本页面进行回复完成，RD验收通过后即完成一条，并在当天更新在任务完成排行榜。

* 任务达成标准：完成尽可能多的issue，完成情况每天都会更新到任务攻克总榜（Issue解答、代码开发），如果在此基础上额外提出了PR并合入的进行额外加星🌟。

* 任务列表：
   1. PaddleOCR Repo： [good first issue](https://github.com/PaddlePaddle/PaddleOCR/issues)
   2. PaddleSeg Repo：[good first issue](https://github.com/PaddlePaddle/PaddleSeg/issues?q=is%3Aissue+is%3Aopen+label%3AGoodFirstIssue)

## 报名模版
队伍名：XXX
队伍成员微信昵称：XX
功能描述：（可选）描述想要实现的功能
【提交时补充】issue/PR地址：Github链接

## 💡 欢迎提出你的想法
* 欢迎向套件方向的建设提出你的想法，无论是对各大套件想提出新的需求，还是对我们建设方向的建议，都欢迎踊跃提出你的意见。关于新增需求或问题可以在issue中提出。你的需求和建议也可能成为我们后续发布的任务，大家可以群策群力一起实现。


ValueError: Could not parse following text as code edit:

## Expected Behavior

Improve the code

## Current Behavior

Error gets thrown

## Failure Information

Traceback (most recent call last):

  File "/home/riccardo/.local/bin/gpt-engineer", line 8, in <module>
    sys.exit(app())

  File "/home/riccardo/.local/lib/python3.10/site-packages/gpt_engineer/cli/main.py", line 169, in main
    messages = step(ai, dbs)

  File "/home/riccardo/.local/lib/python3.10/site-packages/gpt_engineer/core/steps.py", line 588, in improve_existing_code
    overwrite_files_with_edits(messages[-1].content.strip(), dbs)

  File "/home/riccardo/.local/lib/python3.10/site-packages/gpt_engineer/core/chat_to_files.py", line 219, in overwrite_files_with_edits
    edits = parse_edits(chat)

  File "/home/riccardo/.local/lib/python3.10/site-packages/gpt_engineer/core/chat_to_files.py", line 268, in parse_edits
    return parse_all_edits(llm_response)

  File "/home/riccardo/.local/lib/python3.10/site-packages/gpt_engineer/core/chat_to_files.py", line 255, in parse_all_edits
    edits.append(parse_one_edit(current_edit))

  File "/home/riccardo/.local/lib/python3.10/site-packages/gpt_engineer/core/chat_to_files.py", line 240, in parse_one_edit
    raise ValueError(f"Could not parse following text as code edit: \n{text}")

### Steps to Reproduce

I'm using this prompt:

> Improve Code for Readability and Reusability:

>
> Refactor complex functions into smaller, more manageable pieces.
> Use meaningful variable and function names that clearly indicate their purpose.
> Follow a consistent coding style and adhere to best practices outlined in the project's style guide.
> Implement design patterns where applicable to promote code reusability.
> Implement TODOs Where Appropriate:
>
> Review the codebase for any // TODO: comments and prioritize their completion based on the project's goals.
> Assess the impact of each TODO on the current codebase and potential future developments.
> Document the reasoning behind the resolution of TODOs for future reference.
> Add Comments Where Appropriate:
>
> Provide clear and concise comments for complex code blocks to explain the logic and its purpose.
> Update or remove outdated comments that no longer reflect the current state of the code.
> Use comments to outline the steps of complex algorithms or workflows within the code.
>
> Optimize Performance:
>
> Identify bottlenecks and optimize critical sections of the code for better performance.
> Consider the time and space complexity of algorithms and refactor if more efficient solutions exist.
> Utilize profiling tools to measure performance improvements.
> Enhance Security:
>
> Review the code for potential security vulnerabilities and apply best practices to mitigate risks.
> Ensure that all sensitive data is properly encrypted and that secure coding principles are followed.
> Stay updated with the latest security advisories and apply patches or updates as necessary.
>
> Implement Unit Tests and Integration Tests:
>
> Write unit tests for new features and bug fixes to validate individual components.
> Create integration tests to ensure that different parts of the application work together as expected.
> Strive for a high level of test coverage to catch potential issues early.

Also, I got charged :'(
![image](https://github.com/AntonOsika/gpt-engineer/assets/50662094/943d14d0-9a2e-4efb-a0eb-7c9de095f752)


Run pytest in pre-commit

- Add requirement to pyproject.toml
- Setup `.pre-commit-config.yaml` config
- test that everything is working with `pre-commit run` and in github actions


[Feature] Using a open-source LLM instead of Open AI


Incompatibility with Python 3.8 and 3.9: TypeError in file_store.py

## Policy and info
- Maintainers will close issues that have been stale for 14 days if they contain relevant answers.
- Adding the label "sweep" will automatically turn the issue into a coded pull request. Works best for mechanical tasks. More info/syntax at: https://docs.sweep.dev/

## Expected Behavior
The project documentation states support for Python versions 3.8 - 3.11. I expect the software to run without syntax errors in these versions.

## Current Behavior
When attempting to run the project in Python 3.9, a TypeError occurs in `file_store.py` due to the use of the union operator `|` in type hints.

## Failure Information
The project uses a syntax feature (`str | Path`) that is only available in Python 3.10 and later, leading to incompatibility with Python 3.8 and 3.9.

### Steps to Reproduce
1. Set up the project in a Python 3.9 environment.
2. Follow the installation and setup instructions.
3. Attempt to run the project, leading to the TypeError in `file_store.py`.

### Failure Logs
```
Traceback (most recent call last):
  File ".../Scripts/gpt-engineer", line 3, in <module>
    from gpt_engineer.applications.cli.main import app
  ... (additional traceback)
  File ".../file_store.py", line 8, in FileStore
    def __init__(self, path: str | Path | None = None):
TypeError: unsupported operand type(s) for |: 'type' and 'type'
```


## Expected Behavior

gpt-engineer "path" -i command to work properly

## Current Behavior

Error after "Press enter to proceed with modifications."

### Steps to Reproduce

windows
python 3.9

### Failure Logs

Traceback (most recent call last):

  File "C:\tools\Anaconda3\envs\gpteng\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,

  File "C:\tools\Anaconda3\envs\gpteng\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)

  File "C:\tools\Anaconda3\envs\gpteng\Scripts\gpt-engineer.exe\__main__.py", line 7, in <module>
    sys.exit(app())

  File "C:\tools\Anaconda3\envs\gpteng\lib\site-packages\gpt_engineer\main.py", line 96, in main
    messages = step(ai, dbs)

  File "C:\tools\Anaconda3\envs\gpteng\lib\site-packages\gpt_engineer\steps.py", line 360, in improve_existing_code
    files_info = get_code_strings(dbs.input)  # this only has file names not paths

  File "C:\tools\Anaconda3\envs\gpteng\lib\site-packages\gpt_engineer\chat_to_files.py", line 113, in get_code_strings
    file_data = file.read()

  File "C:\tools\Anaconda3\envs\gpteng\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]

UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 436: character maps to <undefined>

<details open>
<summary>Checklist</summary>

- [X] ``gpt_engineer/core/chat_to_files.py:get_code_strings`` ✅ Commit [`83c9784`](https://github.com/AntonOsika/gpt-engineer/commit/83c97847c89a1c4336f8c824a6b34aa54de17f33)
</details>


the code fails after giving additional information at the questions.

## Policy and info
 - Maintainers will close issues that have been stale for 14 days if they contain relevant answers.
 - Adding the label "sweep" will automatically turn the issue into a coded pull request. Works best for mechanical tasks. More info/syntax at: https://docs.sweep.dev/

## Expected Behavior
That I get some feedback, e.g. code that I can use.

## Current Behavior
Fails after the additional questions.

## Failure Information
Nothing more to clarify.
Traceback (most recent call last):

  File "/Users/tom/Library/Python/3.9/bin/gpt-engineer", line 8, in <module>
    sys.exit(app())

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/gpt_engineer/main.py", line 96, in main
    messages = step(ai, dbs)

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/gpt_engineer/steps.py", line 192, in gen_clarified_code
    messages = AI.deserialize_messages(dbs.logs[clarify.__name__])

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/gpt_engineer/ai.py", line 216, in deserialize_messages
    return list(messages_from_dict(json.loads(jsondictstr)))  # type: ignore

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/langchain/schema/messages.py", line 351, in messages_from_dict
    return [_message_from_dict(m) for m in messages]

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/langchain/schema/messages.py", line 351, in <listcomp>
    return [_message_from_dict(m) for m in messages]

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/langchain/schema/messages.py", line 331, in _message_from_dict
    return AIMessage(**message["data"])

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/langchain/load/serializable.py", line 90, in __init__
    super().__init__(**kwargs)

  File "/Users/tom/Library/Python/3.9/lib/python/site-packages/pydantic/v1/main.py", line 341, in __init__
    raise validation_error

pydantic.v1.error_wrappers.ValidationError: 1 validation error for AIMessage
is_chunk
  unexpected value; permitted: False (type=value_error.const; given=True; permitted=(False,))

python --version
Python 3.11.6

chatgpt API, 3.5-turbo

Possibly related waring/issue I get is:
Users/tom/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020

### Steps to Reproduce

If possible, provide detailed steps for reproducing the issue.

1. I have a prompt file (no extension) in a folder
2. I run gpt-engineer folder
3. I get additional questions
4. After that, it fails everytime, tried 3 different folders with different prompts, I once skipped the questions, other times I answered them all.. fail everytime.

### Failure Logs

Any relevant log snippets or files here.


gpt-engineer doesn't respect the COLLECT_LEARNINGS_OPT_OUT=true env variable

## Policy and info
 - Maintainers will close issues that have been stale for 14 days if they contain relevant answers.
 - Adding the label "sweep" will automatically turn the issue into a coded pull request. Works best for mechanical tasks. More info/syntax at: https://docs.sweep.dev/

## Expected Behavior

When setting the environment variable COLLECT_LEARNINGS_OPT_OUT=true, no information should be transmitted back to the gpt-engineer developer.

## Current Behavior

Based on viewing the verbose execution output, it's clear that even with that environment variable set, information was transmitted back to the developer. On inspecting the consent methods, such as https://github.com/AntonOsika/gpt-engineer/blob/main/gpt_engineer/cli/learning.py#L172, it's clear that the environment variable is never referenced.

This is highly undesirable, considering that this is the mechanism for opting out of data collection described in the terms of use - https://github.com/AntonOsika/gpt-engineer/blob/main/TERMS_OF_USE.md.

## Failure Information

I've already transmitted too much information to the developer, and don't feel comfortable adding anything more.


Make improve flag less intrusive by moving over files like "all_output.txt" and "file_list" to the .gpteng folder

This is done by simply using the new DB in #665 and writing to it


It's only using python...

## Expected Behavior

I've seen 3 or 4 issues here asking if gpt-engineer could use languages other than python. the answer was always something like "yes, of course, it's chatgpt writing the code, so you can use everything"

## Current Behavior

no matter what i do, it is always using python. even if i explicitly forbid it to use python, and stress it in the clarifications
why?

![image](https://github.com/AntonOsika/gpt-engineer/assets/21007980/be4ad96f-4ae8-4495-be03-a7152c4f7618)

![image](https://github.com/AntonOsika/gpt-engineer/assets/21007980/a7984e8c-92d1-4584-b318-e5f43df9f92b)


Instructions for running it with local models is lacking.

## Policy and info
 - Maintainers will close issues that have been stale for 14 days if they contain relevant answers.
 - Adding the label "sweep" will automatically turn the issue into a coded pull request. Works best for mechanical tasks. More info/syntax at: https://docs.sweep.dev/

## Description
Instructions:

Running the Example[](https://gpt-engineer.readthedocs.io/en/latest/open_models.html#running-the-example)
Once the API is set up, you can find the host and the exposed TCP port by checking your Runpod dashboard.

Then, you can use the port and host to run the following example using WizardCoder-Python-34B hosted on Runpod:

  OPENAI_API_BASE=http://<host>:<port>/v1 python -m gpt_engineer.cli.main benchmark/pomodoro_timer --steps benchmark TheBloke_WizardCoder-Python-34B-V1.0-GPTQ

  What is this example? What does it do? Whats gpt_engineer.cli.main?

  How do i run the main command "gpte projects/my-new-project" after i have a local llm runing on localhost:8000?

## Suggestion
Please provide more step by step instructions.


Fix the "improve" prompt to make sure that it generates diffs, and parse and apply those diffs to the existing codebase

One way to do this is to write the prompt for gpt-engineer with `-i` flag to annotate each codeblock with one of:

1. `NEW CODE`
2. `REPLACING ONE FUNCTION`

If 1., the generated code can just be written to a new file (or appended to an existing file).

If it is replacing an existing function, we could make sure to find the name of the function that is being replaced using an AST parser (see how [here](https://chat.openai.com/share/71012377-7ebb-47f2-a8fc-7d1bfd4fabe2))

## Why this is necessary
As an example, I tried to use it on the project itself and got a codeblock that was just changing one of the function (so it should not be used to overwrite the entire file)

## How to do it

We can take inspiration from Aider, that generates diffs, or sweep in how they prompt for "<copy_lines>" and [parse the GPT4 output here](https://github.com/sweepai/sweep/blob/e384c9fc3e0278257324c4ce57a888fa64f071b7/sweepai/utils/diff.py#L113)

Should be quite straightforward!


Default launch command is too cumbersome

## Policy and info
 - good first issue

## Feature description
Currently, to use the tool `gpt-engineer` command has to be used. Although this can be resolved using an alias, would be nice to have a command such as `gpte` be available by default.

Can refer https://clig.dev/#naming for more details.

## Motivation/Application
This feature will make it very user friendly to use the command. Having to type dash (`-`) in `gpt-engineer` command is very cumbersome.


Separate `core` and `cli` into separate modules (directories) and only allow cli to import from core

The idea is to separate the core logic and CLI UX specific things. To make it easier to take decisions on what makes sense from UX perspective, and how the core building blocks should work.

Would look something like:

```
gpt_engineer
├── core
│   ├── ai.py
│   ├── domain.py
│   ├── chat_to_files.py
│   ├── steps.py
│   └── db.py
├── cli
│   ├── main.py
│   ├── file_selector.py
│   ├── learning.py
│   └── collect.py
├── api
│   └── main.py
└── preprompts
    └── ...
```

One could use either:
-  PyCharm "move" automagic functionality
- Or! gpt-engineer by adding new steps and configs, or somehow the existing -i flag


Analysis - Give context of a project to GPT Engineer

GPT Engineer is amazing. But right now the purpose is for small projects, projects where you need little implementations or requirements.

But... What about to give a full context of a project? If ChatGPT can understand what methods and classes has some projects on GitHub or packages in npm, maybe he can have a fully understand of a project and modify parts of it.

What about limits of ChatGPT prompt? We can give some prompts in several windows to give fully understanding of what's going on.

I can work on this if someone has the courage to develop it with me.


Remove "run_id" and "delete_existing" options: instead move old memory/workspace folder to "archive" by default

The first step in the main file would be to check for memory folder and workspace, if they exist create a new folder in "archive" e.g. with the name "currentdate_currenttime", and move everything there.

This would make main.py much nicer, and make it clearly defined that all files, apart from `archive` folder, in the project directory are from the most recent run.

(It is also a prerequisite to later add handling of logging to separate files when there are "multiple of the same steps")


RuntimeError: ('Message exceeds %skb limit. (%s)', AFTER it asks me to run the code

I am running a quite complex prompt to create a python app with a PSQL DB backend. I already have the whole DB schema ready and pasted it into the prompt.

## Expected Behavior

the app is created according to my prompt.

## Current Behavior
Only a part of the files are created, then it asks me to run the code which fails for non-related reasons and then shows the error message"
RuntimeError: ('Message exceeds %skb limit. (%s)', '32', '{\'integrations\': {\'All\': True}, \'anonymousId\': None, \'properties\': {\'model\': \'gpt-3.5-turbo\', \'temperature\': 0.1, \'steps\': \'["clarify", "gen_clarified_code", "gen_entrypoint", "execute_entrypoint", "human_review"]\', \'steps_file_hash\': \'\', \'prompt\'
REMAINING OUTPUT of gpt engineer.

Error seems to be in the analytics page

  File "/home/stefan/.local/bin/gpt-engineer", line 8, in <module>
    sys.exit(app())
             ^^^^^

  File "/home//code/gpt-engineer/gpt_engineer/main.py", line 61, in main
    collect_learnings(model, temperature, steps, dbs)

  File "/home/code/gpt-engineer/gpt_engineer/collect.py", line 28, in collect_learnings
    send_learning(learnings)

  File "/home/code/gpt-engineer/gpt_engineer/collect.py", line 17, in send_learning
    rudder_analytics.track(

  File "/home/.local/lib/python3.11/site-packages/rudderstack/analytics/__init__.py", line 53, in track
    _proxy('track', *args, **kwargs)

  File "/home/.local/lib/python3.11/site-packages/rudderstack/analytics/__init__.py", line 113, in _proxy
    fn(*args, **kwargs)

  File "/home/.local/lib/python3.11/site-packages/rudderstack/analytics/client.py", line 141, in track
    return self._enqueue(msg)
           ^^^^^^^^^^^^^^^^^^

  File "/home/.local/lib/python3.11/site-packages/rudderstack/analytics/client.py", line 279, in _enqueue
    raise RuntimeError('Message exceeds %skb limit. (%s)', str(int(MAX_MSG_SIZE / 1024)), str(msg))

UPDATE: confirmed related to Rudderstack, does not happen when you opt out


I'm getting the following error when running `python -m gpt_engineer.main`. I'm using python 3.11/

```
  File "/opt/miniconda3/envs/gpt-eng/lib/python3.11/inspect.py", line 873, in cleandoc
    lines = doc.expandtabs().split('\n')
            ^^^^^^^^^^^^^^

AttributeError: 'tuple' object has no attribute 'expandtabs'
```


GPT4ALL support or open source models

OpenAI's model 3.5 breaks frequently and is low quality in general.

Falcon, Vicuna, Hermes and more should be supported as they're open source, free, and moving away from paid closed source is good practice and opens applications to huge user base who wants free access to these tools.


Using gpt-engineer with Azure OpenAI

Hi, I am trying to test gpt-engineer by using Azure OpenAI but I am getting authentication error. I have added all the additional details that are required for the Azure OpenAI like api_base url,  model, etc. in the python file ai.py in the gpt_engineer folder. Am I missing out something can you please help me out with this issue.

Have set the openAI API key as the windows environmnet variable. Rest all the steps have followed according to the readme file.

<img width="946" alt="image" src="https://github.com/AntonOsika/gpt-engineer/assets/53396422/d3657e3b-1e49-4f6c-adac-18125ee1f29f">


Add GPTE CLI argument to output system information

When running GPTE, it will be quite helpful to be able to quickly generate useful system information for use in debugging issues.

For example, this should be invoked as `gpte --sysinfo`.

This invocation should output system information in a standardized and useful way, so that users can readily copy and paste the output into GitHub, Discord, etc ...

Here are some requirements for this CLI argument:
* The CLI argument should use system-native commands or those available from the packages installed by GPTE (i.e. it should not require or install additional tools).
* The CLI argument should not expose personally identifiable or other sensitive information.
* When running `gpte --sysinfo` the application immediately outputs the system information without executing any of the other application flow and returns the user back to the command line.
* When running gpte --sysinfo the application does not require an OpenAI (or any other LLM) API key but, rather, immediately generates the system information and outputs it.

Here are some examples of system information that should be returned by running `gpte --sysinfo`:

Outputs of Linux operating system commands like:
* `uname -a`
* `lsb_release -a`
* `cat /proc/version`

and, in Windows:

* `systeminfo`

We should also include Python-specific information, like the output of:
* `pip freeze`
* `python --version`
* `which python`

These are indicative but not comprehensive.

This is a great first issue for a new contributor!


exporting the api key to the environment doesn't work for me

I can't get the export command to work, so an alternative solution like using an extern file or hardcoding the api in the code would be a nice solution. I personally created an external json config file and parsed the api key from that to the python script.

So a solution could be:

1) Make a json file named "config.json"
2) Inside of ai.py add:
```
import json

def get_api_key(file_name: str) -> str:
    with open(file_name, 'r') as f:
        config = json.load(f)
    return config['openai_api_key']
```

3) Inside of config.json add:
```
{
    "openai_api_key": "your_api_key"
}
```

4) In the __init__ part of the AI class add:
```
class AI:
    def __init__(self, **kwargs):
        openai.api_key = get_api_key("config.json")
        self.kwargs = kwargs
```


Automatic benchmarking of gpt-engineer with APPS

## Feature description
gpt-engineer has an automatic evals suite in "evals/eval_new_code.py". However, only 2 test cases are given in evals/new_code_eval.yaml . An alternative to filling in more testcases manually, we should parse in prompts and tests from the (very large) APPS dataset (https://paperswithcode.com/dataset/apps).

Since APPS is way too large to run in its entirety, there should be functionality to run n randomly selected tests and run n tests according to some predetermined test ordering (so that consecutive benchmark runs are comparable).

The APPS database should not be added to the gpt-engineer git repo! Probably the best way to handle this is to pull it from huggingface (https://huggingface.co/datasets/codeparrot/apps) in the code itself (potentially caching it and gitignoring it so it doesn't need to be pulled on every run).

## Motivation/Application
Automatic benchmarking is the ideal way to determine whether an imposed change to the code base is advantageous.


Automatic benchmarking of gpt-engineer with MBPP

## Feature description
We have a way to easily add benchmarks:

https://www.loom.com/share/206805143fbb4302b5455a5329eaab17?sid=f689608f-8e49-44f7-b55f-4c81e9dc93e6

This issue is about looking into if [mbpp](https://huggingface.co/datasets/mbpp) is a good benchmark to add and then add a simple version of it.


[Bug]: app-1  | sh: 1: /content/entrypoint.sh: not found (docker compose)

### Checklist

- [ ] The issue has not been resolved by following the [troubleshooting guide](https://github.com/lllyasviel/Fooocus/blob/main/troubleshoot.md)
- [ ] The issue exists on a clean installation of Fooocus
- [ ] The issue exists in the current version of Fooocus
- [ ] The issue has not been reported before recently
- [ ] The issue has been reported before but has not been fixed yet

### What happened?

```

docker compose build --no-cache

(venv) deb-workshop :: ~/Fooocus-2024 ‹main› » docker-compose up
WARN[0000] /home/username/Fooocus-2024/docker-compose.yml: `version` is obsolete
[+] Running 2/3
 ✔ Network fooocus-2024_default        Created                                                           0.1s
 ✔ Volume "fooocus-2024_fooocus-data"  Created                                                           0.0s
 ⠋ Container fooocus-2024-app-1        Created                                                           0.1s
Attaching to app-1
app-1  | sh: 1: /content/entrypoint.sh: not found
app-1 exited with code 127
```

### Steps to reproduce the problem

latest main branch

### What should have happened?

it can run

### What browsers do you use to access Fooocus?

_No response_

### Where are you running Fooocus?

None

### What operating system are you using?

_No response_

### Console logs

```Shell
docker compose build --no-cache

(venv) deb-workshop :: ~/Fooocus-2024 ‹main› » docker-compose up
WARN[0000] /home/username/Fooocus-2024/docker-compose.yml: `version` is obsolete
[+] Running 2/3
 ✔ Network fooocus-2024_default        Created                                                           0.1s
 ✔ Volume "fooocus-2024_fooocus-data"  Created                                                           0.0s
 ⠋ Container fooocus-2024-app-1        Created                                                           0.1s
Attaching to app-1
app-1  | sh: 1: /content/entrypoint.sh: not found
app-1 exited with code 127
```
```

### Additional information

_No response_


Canvas zoom for the inpainting canvas

Can we get a canvas zoom feature similar to what https://github.com/richrobber2/canvas-zoom provides for A1111?
Fooocus has by far the best inpainting/outpainting backend. It would be nice if the frontend was spruced up a bit too.


Bug 1089229: Wrong treatment of UoS among objects

**Impacted versions:**
6.1 and above

**Steps to reproduce:**
See https://bugs.launchpad.net/openobject-addons/+bug/1089229

**Current behavior:**
- If you change units of sale (uos) quantity in sales order, uom quantity is not recalculated, thus breaking the relation between uom and uos (uos_coeff).
- If you change the uom or uos within their category in sales order or invoice, nothing happens --> Thus breaking again the relation between uom and uos (there is no recalculation, and it's not the same selling grams and kilograms).
- Sale order lines shows only uom quantities and uom prices.

**Expected behavior:**
- If you change units of sale (uos) quantity in sales order, uom quantity should be recalculated accordingly (as happens viceversa).
- If you change uom or uos within their category in sales order or invoice, the other quantity is recalculated. Also, price should be recalculated (because of the change of unit, price(kg)=1000*price(g); and also because if quantity changes, another pricelist may apply).
- If using a secondary uos, sale order lines should show both uom and uos, as well as price_unit(uom) and price_unit(uos). --> This is a much desired feature for salespeople, because many times they know the Sale unit and its price (not the uom and price(uom), which may be more related to warehouse in such cases).
  -Both UoM and UoS related info (quantities, prices) should be both available in product, sale and invoice objects.

**Further info**
This bug (and its code implications) https://bugs.launchpad.net/openobject-addons/+bug/1089229 is still there in master as of today (checked code a few minutes ago, and in runbot there is something weird with the reports so I cannot obtain the sale order report, but the invoice report shows sale unit price in tax column).

Maybe this is just the right time (just before v8) to harmonize uom/uos and price_unit_uom/price_unit_uos among different objcts (product.product, sale.order, account.invoice) and be able to keep all info lossless.
Also to fix the uom category conversions (look at the 'FIXME' in code, for example: https://github.com/odoo/odoo/blob/master/addons/sale/sale.py#L1031 )


[Feature]: 接入"gpt-4-turbo-2024-04-09"模型

### Class | 类型

程序主体

### Feature Request | 功能请求

能不能接入gpt-4-turbo-2024-04-09和gpt-4-0125-preview这两个模型。


ImportError: No module named pathlib

I have already installed pathlib in python3.6:Requirement already satisfied: pathlib in /usr/local/lib/python3.6/dist-packages

Command executed: python3 faceswap.py extract -i ~/faceswap/photo/trump -o ~/faceswap/data/trump

Traceback (most recent call last):
  File "faceswap.py", line 3, in <module>
    from scripts.extract import ExtractTrainingData
  File "/home/ubuntu/data/faceswap/scripts/extract.py", line 2, in <module>
    from lib.cli import DirectoryProcessor
  File "/home/ubuntu/data/faceswap/lib/cli.py", line 6, in <module>
    from lib.utils import get_image_paths, get_folder, load_images, stack_images
  File "/home/ubuntu/data/faceswap/lib/utils.py", line 4, in <module>
    from pathlib import Path
ImportError: No module named pathlib

Can anyone help me out with this issue?


Is it possible to implement occlusion masks to original model?

I think GAN model's most interesting feature is occlusion masks. But original model is more stable than GAN and the output of GAN code here is not good. So my question is can we implement this occlusion mask feature to original model? Or is it exclusive to GAN?


Sharpening the face before applying it

Sharpen by  multiplying every pixel by 2, and then subtracting the average value of the neighborhood from it.

I modified Convert_Masked.py and I find the face less blurry on closeups on hi-res pics, though it's a bit too sharp on normal/low res compared to the rest of the image.

YMMV.

```
def apply_new_face(self, image, new_face, image_mask, mat, image_size, size):
        base_image = numpy.copy( image )
        new_image = numpy.copy( image )
        cv2.warpAffine( new_face, mat, image_size, new_image, cv2.WARP_INVERSE_MAP | cv2.INTER_CUBIC, cv2.BORDER_TRANSPARENT )
        kernel = numpy.zeros( (9,9), numpy.float32)
        kernel[4,4] = 2.0
        boxFilter = numpy.ones( (9,9), numpy.float32) / 81.0
        kernel = kernel - boxFilter
        new_image = cv2.filter2D(new_image, -1, kernel)
```