• Введение в состязательные сети

      Всем привет. Этой статьей я начинаю серию рассказов о состязательных сетях. Как и в предыдущей статье я подготовил соответствующий докер-образ в котором уже все готово для того чтобы воспроизвести то что написано здесь ниже. Я не буду копировать весь код из примера сюда, только основные его части, поэтому, для удобства советую иметь его рядом для более простого понимания. Докер контейнер доступен здесь, а ноутбук, utils.py и докерфайл здесь.


      Несмотря на то, что фреймворк состязательных сетей был предложен Йеном Гудфеллоу в его уже знаменитой работе Generative Adversarial Networks ключевая идея пришла к нему из работ по доменной адаптации(Domain adaptation), поэтому и начнем мы обсуждение состязательных сетей именно с этой темы.


      Представьте, что у вас есть два источниках данных о похожих наборах объектов. Например это могут быть медицинские записи разных социально-демографических групп (мужчины/женщины, взрослые/дети, азиаты/европейцы...). Типичные анализы крови представителей разных групп будут отличаться, поэтому модель, предсказывающая, скажем, риск сердечно-сосудистых заболеваний(ССЗ), обученная на представителях одной выборки не может применяться к представителям другой выборки.

      Читать дальше →
      • +28
      • 6,1k
      • 2
    • Custdev от Службы поддержки

        И снова здравствуйте!

        Мы продолжаем расширение тем, которые преподаются у нас. Вот теперь разработали и вывели курс «Product Owner». Автор курса Екатерина Марчук предлагает вам ознакомится со своей авторской статьёй и приглашает на открытый урок.

        Как нам интерпретировать фидбек?

        О customer development или развитии пользователей в последнее время говорят все кому не лень. И каждый, кто знаком с понятием, осознает, насколько это важно, а если говорить прямо — жизненно необходимо для успешного запуска продукта.

        Customer develoment помогает понять ценность продукта, выявить скрытые мотивы потребителей, их реальные проблемы и потребности. И самое главное, custdev позволяет нам проверять гипотезы. Без проверки гипотез сложно вести проект в правильном направлении, потому что, как показывает практика, голые цифры, увы, не репрезентативны.

        Но, как водится, на чисто теоретическом понимании всё и заканчивается. У нас же ни на что не хватает времени, в том числе — и на такие важные задачи.

        Читать дальше →
      • Мониторинг приложений с Prometheus

        • Перевод
        Добрый вечер!

        На этой неделе мы запускаем четвёртый по счёту поток курса «DevOps: практики и инструменты», так что по традиции небольшая интересная статья для вас.

        Поехали

        В этом практическом руководстве мы рассмотрим, как интегрировать мониторинг Prometheus в существующее приложение. Мониторинг приложения может дать представление о том, как и когда приложение используется. Более того, можно предугадать потенциальные проблемы.

        Ключевые моменты:

        • Изучение способов мониторинга приложений и серверов с помощью Prometheus;
        • Запуск Prometheus в Docker;
        • Мониторинг и инструментирование образца приложения Golang;
        • Развертывание Prometheus со стеками Docker;
        • Краткое руководство с примерами PromQL.

        Читать дальше →
      • Открытый вебинар: «Области видимости и невидимости»

          И снова здравствуйте!

          Делимся с вами очередным открытым уроком, который мы проводили в рамках курса «Разработчик C++». На уроке Сергей Кольцов разбирал проблему деинициализации, которая довольно часто возникает в разработке ПО с использованием legacy или native-кода.


          Как всегда ждём вопрос и комментарии тут или сегодня на Дне открытых дверей.
        • Открытый вебинар: «Трудности перевода: 2 и 3 версии»

            Всем привет!

            В рамках нашего курса «Разработчик Python», провели на прошлой неделе открытый вебинар про вторую и третью версию. На нём создатель курса Стас Ступников разбирал нюансы миграции между версиями, отличия в производительности, новые особенности, да и вообще общался и отвечал на вопросы слушателей.


            Как всегда ждём вопросы, комментарии тут или на дне открытых дверей.
          • Dive into pyTorch

            • Tutorial

            Всем привет. Меня зовут Артур Кадурин, я руковожу исследованиями в области глубокого обучения для разработки новых лекарственных препаратов в компании Insilico Medicine. В Insilico мы используем самые современные методы машинного обучения, а также сами разрабатываем и публикуем множество статей для того чтобы вылечить такие заболевания как рак или болезнь Альцгеймера, а возможно и старение как таковое.


            В рамках подготовки своего курса по глубокому обучению я собираюсь опубликовать серию статей на тему Состязательных(Adversarial) сетей с разбором того что же это такое и как этим пользоваться. Эта серия статей не будет очередным обзором GANов(Generative Adversarial Networks), но позволит глубже заглянуть под капот нейронных сетей и охватит более широкий спектр архитектур. Хотя GANы мы конечно тоже разберем.

            Читать дальше →
          • Открытый урок «iSCSI в Linux»

              Всем привет!

              Выходим на финишную прямую по запуску обновлённого курса «Администратора Linux»: целиком обновили программу, провели открытые уроки, с одним из которых и делимся с вами. На уроке разбирается SAN и NAS и как настроить iSCSI target в Linux.


              Как всегда ждём комментарии, вопросы тут или можете задать их преподавателям сегодня на Дне открытых дверей.

              Спасибо!
              • +11
              • 3,7k
              • 3
            • Внедрение предметно-ориентированного проектирования в PHP

              • Перевод
              И снова здравствуйте!

              Что ж очередной «новый» курс, который стартовал в конце декабря, подходит к концу — «Backend разработчик на PHP». Учли разные мелкие шероховатости и запускаем новый. Осталось только посмотреть на выпуск и всё, поставим очередную галочку.

              А счас пока давайте посмотрим на одну интересную статью.

              Поехали.

              В этой статье вы узнаете, как использовать PHP для управления следующим DDD-проектом вашей компании и эффективно моделировать реальные ситуации, чтобы помочь определить вашу бизнес-логику.

              Предметно-ориентированное проектирование (Domain-Driven Design, в дальнейшем — DDD) — это методология разработки программного обеспечения для проектирования сложных программных проектов с целью доставки конечного продукта, который отвечает задачам организации. Фактически, DDD способствует фокусированию проекта на развивающейся базовой модели.
              DDD научит вас эффективно моделировать реальный мир в вашем приложении и использовать ООП для инкапсуляции бизнес-логики организации.

              Читать дальше →
            • Опасные pickles — вредоносная сериализация в Python

              • Перевод
              Всем привет!

              Panta rhei и вот уже приближается запуск обновленного курса «Web-разработчик на Python» и у нас остался ещё материал, который мы нашли сильно небезынтересным и коим хотим поделиться с вами.

              Чем опасны pickles?
              Эти соленые огурчики крайне опасны. Я даже не знаю, как объяснить, насколько. Просто поверь мне. Это важно, понимаешь?
              “Explosive Disorder” Pan Telare

              Прежде чем с головой погрузиться в опкод, поговорим об основах. В стандартной библиотеке Python есть модуль под названием pickle (в переводе “соленый огурчик” или просто ”консервация”), который используется для сериализации и десериализации объектов. Только называется это не сериализация/десериализация, а pickling/unpickling (дословно — “консервация/расконсервация”).


              Читать дальше →
            • Разбор основных концепций параллелизма

              • Перевод
              Всем кофе!

              Завтра у нас плавненько стартует практически юбилейный поток курс «Разработчик Java» — уже шестой по счёту начиная с апреля прошлого года. А это значит, что мы снова подобрали, перевели интереснейший материал, которым делимся с вами.

              Поехали!

              Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма и способы их применения. Вы ознакомьтесь с ключевыми аспектами языка Java со ссылками на стандартную библиотеку.

              РАЗДЕЛ 1

              Вступление

              С момента своего создания Java поддерживает ключевые концепции параллелизма, такие как потоки и блокировки. Эта памятка поможет Java-разработчикам, работающим с многопоточными программами, понять основные концепции параллелизма и способы их применения.

              РАЗДЕЛ 2

              Концепции

              Концепция Описание
              Atomicity (атомарность) Атомарная операция — это операция, которая выполняется полностью или не выполняется совсем, частичное выполнение невозможно.
              Visibility (видимость) Условия, при которых один поток видит изменения, сделанные другим потоком

              Таблица 1: Концепции параллелизма

              Читать дальше →
            Самое читаемое