Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
Rerender a video теперь можно запустить в колабе. Работает пока не очень, можно ожидать что в официальном релизе будет лучше.
Много красивых примеров на официальной страничке
colab
@тоже_моушн
#text2video#video2video
Wan стал условно бесплатным
Китайская модель для генерации картинок и видео Wan.Video стала условно бесплатной.
Теперь сама генерация бесплатна, а кредиты (которые, как и раньше, дают немного бесплатно) тратятся на приоритезацию в очереди. Т.е. плата только за время выдачи результата.
Соответственно, если можете подождать, то бесплатно).
Качество генерации вполне на высоте, как картинки, так и видео.
Можно подкладывать свой аватар (лицо), на примере:
Educational Content with a Cozy Cafe Ambiance: A young man, dressed in a stylish dark polo shirt, stands against a warm, wooden cafe backdrop. His short, neatly-groomed hair frames his face as he passionately discusses recent advancements in neural networks. Holding a smoking ceramic cup of cappuccino, his eyes meet the camera with engaging confidence. The ambient lighting from table lamps softly illuminates his features, enhancing the intimate educational atmosphere. In the background, cozy cafe tables and a hint of bustling activity create a lively yet focused setting. The camera smoothly moves in for a mid-shot, capturing the essence of trustworthy knowledge-sharing.
А главное, доступен в России без VPN, общаться можно на русском.
Из минусов:
1. Время ожидания в очереди не указывает, невозможно понять, секунды остались до выдачи или часы. Это прям огромный минус, надеюсь скоро исправят.
2. Текст на картинке пытается выдать на китайском. Тут просто это надо знать, тем более не многие модели вообще могут нормально текст на картинке сделать, и особенно на русском.
https://t.me/semasci
#wan#text2image#text2video#image2video
#python#deep_learning#diffusion#flax#flux#hacktoberfest#image_generation#image2image#image2video#jax#latent_diffusion_models#pytorch#score_based_generative_modeling#stable_diffusion#stable_diffusion_diffusers#text2image#text2video#video2video
The Hugging Face Diffusers library is a powerful and easy-to-use tool for generating images, audio, and 3D molecular structures using advanced diffusion models. It offers ready-to-use pretrained models and flexible components like pipelines, schedulers, and model building blocks, allowing you to quickly create or customize your own diffusion-based projects. Installation is simple via pip or conda, and you can generate high-quality outputs with just a few lines of code. This library benefits you by making cutting-edge AI generation accessible, customizable, and efficient, whether you want to run models or train your own[1][2][5].
https://github.com/huggingface/diffusers