Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Организуйте краудфандинг для решения ваших проблем на GitHub
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Репозиторий на Github c микрореализацией фундаментальных языков программирования, по мотивам серии статей "Tiny Great Languages"
Все написано на Python, код намеренно краток, чтобы не превышать ~50 строк кода для каждого языка.
Используется только стандартная библиотека Python, да и то в очень скромных пределах (
sys
, иногда re
, редко itertool
и т.д.).asm.py
- ассемблер. Компилирует "Python-ассемблер" в байткод и выполняет его;basic.py
- бейсик. Подмножество TinyBASIC, но с настоящим редактором строк BASIC!lisp.py
- Lisp 1.5. Классика, автор - Джон Маккарти, достаточен, чтобы интерпретировать самого себя (мета-циклический интерпретатор);apl.py
- интерпретатор k/simple, написанный Артуром Уитни, представляет собой диалект языка программирования K (array processing language), который является вариантом APL.mouse.py
- язык конкатенативного программирования MOUSE, опубликованный в журнале BYTE в 1979 году.pl0.py
- переводчик с языка PL/0, автор Никлаус Вирт.tcl.py
- крошечный интерпретатор командного языка (TCL).#Python #TinyLanguage
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчики репозитория Python-пакетов PyPI (Python Package Index) сообщили о введении нового механизма цифровой аттестации для проверки подлинности загружаемых пакетов.
Этот механизм заменил прежнюю систему верификации с помощью PGP-подписей. Основное отличие заключается в том, что теперь публикацию пакета подтверждает не сам разработчик, а третья сторона (каталог пакетов), основываясь на проверке через внешнего провайдера OpenID Connect. Это может включать проверку соответствия публикуемого пакета с исходным репозиторием на платформах вроде GitHub или GitLab.
Новая система решает проблемы, присущие старому методу верификации через PGP-подпись, который уже считался устаревшим. Основная трудность заключалась в проверке принадлежности открытых PGP-ключей их владельцам. Из 1069 PGP-ключей, использовавшихся с 2020 года для подписания пакетов в PyPI, 29% ключей вообще не были найдены на крупных публичных серверах ключей, а 35% оказались невозможными для подтверждения в процессе аудита. При этом подтвержденные 36% ключей покрывали всего 0.3% от общего числа подписанных файлов.
В рамках новой системы цифровые подписи формируются с использованием временных эфемерных ключей, создаваемых на основании полномочий, подтвержденных провайдером OpenID Connect.
Когда разработчик создает ключ для подписи, он проходит идентификацию через провайдера, который удостоверяет его связь с основным проектом. Эта инфраструктура основана на системах
Sigstore и in-toto Attestation Framework.
Одним из преимуществ аттестации является отсутствие зависимости от постоянных PGP-ключей.
Если закрытый ключ теряется или подвергается атаке, все созданные с его помощью подписи становятся ненадежными. Аттестация же связывает подпись с временным токеном, который подтверждает права разработчика в момент загрузки пакета и его соответствие основному репозиторию кода.
Например, при загрузке пакета, подготовленного через GitHub Actions, аттестация гарантирует наличие связи между пакетом в PyPI и исходным хранилищем, рабочим процессом и хешем коммита, на базе которого был собран пакет.
Для мониторинга подлинности ключей и обнаружения потенциальных угроз в проектах, создающих пакеты, и самом PyPI используется централизованный публичный журнал. Чтобы обеспечить целостность данных и предотвратить изменение информации задним числом, в нем применяется структура «дерева Меркла» (Merkle Tree), где каждая ветвь проверяет все подчиненные ветви и узлы посредством древовидной схемы хеширования.
Кроме того, стоит упомянуть обнаруженный в каталоге PyPI вредоносный пакет под названием «fabrice», который использовал технику тайпсквоттинга – назначение схожего имени, различающегося несколькими символами (например, exampl вместо example, djangoo вместо django, pyhton вместо python и так далее), чтобы замаскироваться под популярную библиотеку «fabric».
Эта библиотека насчитывает около 201 миллиона загрузок (около 7 миллионов за последний месяц). Вредоносный пакет оставался незамеченным с 2021 года и успел набрать более 37 тысяч загрузок.
Пакет «fabrice» имитировал основную функциональность оригинальной библиотеки, но также содержал код для поиска и передачи ключей доступа к AWS (Amazon Web Services), установки бэкдоров и выполнения определенных скриптов.
Активизация вредоносных компонентов происходила как в операционной системе Linux, так и в Windows. В случае с Linux, файлы, связанные с вредоносной активностью, загружались в каталог ~/.local/bin/vscode.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Платформ для ИИ-агентов для разработки программного обеспечения на базе искусственного интеллекта.
Агенты OpenHands могут делать все, что под силу разработчику—человеку: изменять код, запускать команды, просматривать веб-страницы, вызывать API-интерфейсы и даже копировать фрагменты кода из StackOverflow.
▪Инструкция по быстрому запуску
▪Документация
▪ Github
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Пакет AlphaFold 3 включает в себя все необходимое для теоретического моделирования структуры белка. Для запуска системы необходимо сконфигурировать входной файл JSON, содержащий информацию о белке, например, его идентификатор и аминокислотную последовательность.
Вместе с программным конвейером инференса доступна подробная документация по входным и выходным данным системы, решению известных проблем, настройкам производительности и установке с последующим запуском с помощью Docker.
Для локального использования понадобится ОС Linux (AlphaFold 3 не поддерживает другие операционные системы) примерно 1 ТB дискового пространства для хранения генетических баз данных (рекомендуется SSD), 64 GB RAM, GPU NVIDIA с Compute Capability 8.0 или выше.
Исходные данные, содержащие 5120 токенов, могут поместиться на одном NVIDIA A100 80 ГБ или одном NVIDIA H100 80 ГБ.
⚠️ Получение параметров модели возможно через подачу заявки в Google DeepMind, доступ предоставляется в течении 2-3 дней по итогам рассмотрения обращения.
⚠️ Любая публикация, основанная на результатах, полученных с использованием AlphaFold 3, должна ссылаться на статью «Accurate structure prediction of biomolecular interactions with AlphaFold 3».
⚠️ AlphaFold 3 не является официально поддерживаемым продуктом Google и ее результаты не предназначены, не проверены и не одобрены для клинического использования.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
RMBG v2.0 - новая модель удаления фона, предназначенная для эффективного отделения переднего плана от фона в различных категориях и типах изображений. Точность, эффективность и универсальность RMBG v2.0 конкурирует с ведущими SOTA-моделями.
RMBG-2.0 разработана на основе архитектуры BiRefNet и обучена на более чем 15 000 высококачественных, высокого разрешения, вручную маркированных (с точностью до пикселя), полностью лицензированных изображений.
Модель доступна на HF в двух версиях : pytorch и safetensors. Демо можно попробовать на HF Space.
from PIL import Image
import matplotlib.pyplot as plt
import torch
from torchvision import transforms
from transformers import AutoModelForImageSegmentation
model = AutoModelForImageSegmentation.from_pretrained('briaai/RMBG-2.0', trust_remote_code=True)
torch.set_float32_matmul_precision(['high', 'highest'][0])
model.to('cuda')
model.eval()
# Data settings
image_size = (1024, 1024)
transform_image = transforms.Compose([
transforms.Resize(image_size),
transforms.ToTensor(),
transforms.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])
])
image = Image.open(input_image_path)
input_images = transform_image(image).unsqueeze(0).to('cuda')
# Prediction
with torch.no_grad():
preds = model(input_images)[-1].sigmoid().cpu()
pred = preds[0].squeeze()
pred_pil = transforms.ToPILImage()(pred)
mask = pred_pil.resize(image.size)
image.putalpha(mask)
image.save("no_bg_image.png")
@ai_machinelearning_big_data
#AI #ML #BiRefNet #RMBG #BRIAAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM