Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
🌎 Sperm whales use a form of vocal “click” codes called codas to communicate within social groups. Each group has its own dialect of codas, with some sequences unique to specific clans. Adult whales use these patterns to maintain social bonds—individuals can be identified by their group’s coda “accent.” ✨
#whale⚡#communication⚡#animalbehavior⚡#bioacoustics
👉subscribe Interesting Planet
👉more Channels
🎧 Perch 2.0 — AI, который слушает природу и спасает вымирающие виды.
DeepMind выпустили Perch 2.0 — компактную supervised-модель для биоакустики.
Без миллиардов параметров, без сложного self-supervised обучения — просто аккуратная модель, которая побила все бенчмарки и уже работает в полевых исследованиях.
🌱 Почему это важно
Звуки природы — это источник данных о биоразнообразии.
По аудиозаписям можно понять:
- какие животные живут в лесу,
- сколько их,
- размножаются ли они,
- не вытесняются ли они человеком.
Но расшифровка аудио — адский труд: в одном часе записи из тропиков десятки накладывающихся голосов.
🐦Что умеет Perch 2.0
Perch 2.0 — универсальный эмбеддер для звуков животных.
Берёт 5 секунд аудио → выдаёт вектор, с которым можно:
- находить похожие записи,
- кластеризовать звуки,
- обучать простой классификатор для новых видов (few-shot).
⚡ Работает без GPU и без дообучения.
🛠 Архитектура
- Основa: EfficientNet-B3 (12M параметров).
- Три головы:
1. Классификация ~15k видов.
2. Прототипная — создаёт семантические логиты для distillation.
3. Source prediction — угадывает источник записи.
- Обучение в два шага:
1. Прототипная голова учится сама.
2. Её логиты становятся soft-label’ами для основной (**self-distillation**).
📊 Результаты
- SOTA на BirdSet и BEANS (ROC-AUC, mAP).
- Отличная переносимость на морских данных (киты, дельфины), которых почти не было в тренировке.
- Всё это — без fine-tuning, только фиксированные эмбеддинги.
Главный вывод
Perch 2.0 показывает, что:
🟢 качественная разметка,
🟢 простая архитектура,
🟢 чёткая постановка задачи
могут быть важнее, чем «бесконечные параметры» и сложные LLM.
🌍 Что это меняет
- Биологам — быстрый анализ джунглей Бразилии или рифов без написания своих моделей.
- ML-инженерам — наглядный пример, как обучать компактные сети без потери качества.
- Исследователям — напоминание: не всегда нужен GPT-4, чтобы сделать полезный инструмент.
🟠Github: https://github.com/google-research/perch-hoplite
🟠Подробнее: https://deepmind.google/discover/blog/how-ai-is-helping-advance-the-science-of-bioacoustics-to-save-endangered-species/
🟠Статья: http://arxiv.org/abs/2508.04665
@ai_machinelearning_big_data
#DeepMind#AI#Bioacoustics#MachineLearning#Perch#Ecology