Pull to refresh
39
0
Ann Tohn @tohnann

User

PyTorch — ваш новый фреймворк глубокого обучения

Reading time 22 min
Views 153K
Python *Programming *Machine learning *

Gotta Torch?


PyTorch — современная библиотека глубокого обучения, развивающаяся под крылом Facebook. Она не похожа на другие популярные библиотеки, такие как Caffe, Theano и TensorFlow. Она позволяет исследователям воплощать в жизнь свои самые смелые фантазии, а инженерам с лёгкостью эти фантазии имплементировать.


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

Fire walk with me
Total votes 66: ↑64 and ↓2 +62
Comments 20

Сортировка на односвязном списке за O(nlogn) времени в худшем случае с O(1) дополнительной памяти

Reading time 11 min
Views 54K
Algorithms *
Все началось с данного топика на сайте gamedev.ru. Топикстартер предложил найти сортировку, которая обладает следующими свойствами:
  1. Время выполнения — гарантированные O(nlogn).
  2. Использование O(1) дополнительной памяти.
  3. Применимость для сортировки данных в односвязных списках (но не ограничиваясь ими).

Оговорки на все три ограничения:
  1. Гарантированные O(nlogn) означают, что, например, среднее время быстрой сортировки не подходит — должно получаться O(nlogn) для любых, даже самых худших входных данных.
  2. Рекурсию использовать нельзя, поскольку она подразумевает O(logn) памяти на хранение стека рекурсивных вызовов.
  3. Произвольного доступа к элементам сортируемого массива нет, мы можем двигаться итератором от любого элемента только к соседнему (за O(1)), причем только в одном направлении (вперед по списку). Модифицировать сам список (перевешивать указатели на следующие элементы) нельзя.

Вся информация, которую мы знаем об элементах массива — это то, что они все образуют линейно упорядоченное множество. Все, что мы можем делать — это сравнивать два элемента массива (за O(1)) и менять их местами (тоже за O(1)).

Под катом можно узнать, что в итоге получилось у нас.

Challenge. Прежде чем заглядывать под кат, предлагаю сначала самостоятельно подумать над алгоритмом. Если придумается что-то круче нашего варианта — напишите в комментариях.

Читать дальше →
Total votes 70: ↑67 and ↓3 +64
Comments 85

Возобновляемых источников не хватает. Чистый уголь — энергоноситель ближайшего будущего

Reading time 23 min
Views 126K
Energy and batteries Transport
Translation
Source - Dan Winters
Сегодня уголь производит более 40% мировой электроэнергии, фактически являясь основой современной жизндеятельности.

В данной статье речь пойдет о современной ситуации с использованием угля в энергетике, о том, почему в настоящее время не представляется возможным от него отказаться и о новой технологии очищения продуктов горения угля и их перегонки для последующего использования.
Читать дальше →
Total votes 106: ↑93 and ↓13 +80
Comments 154

Как начать летать самостоятельно, хоть на чем-то, с мотором

Reading time 10 min
Views 229K
Gadgets
Вторая статья для желающих начать летать самостоятельно.
Сегодня мы будем рассматривать варианты сжигания дохлых мамонтов (бензина) для приобретения кинетической энергии.

Парящий полет (первая статья)
  • Параплан
  • Дельтаплан
  • Планер

Моторный полет (под катом)
  • Самолет
  • Мотодельтаплан (дельталет)
  • Паратрайк (аэрошют)
  • Парамотор (карлсон, мотопараплан)
  • Мотопланер



Первый раз за штурвал самолета я сел в 18 лет. До первого самостоятельного вылета налетал 25 часов и совершил около 100 взлетов и посадок. Сейчас мой суммарный налет на всем, что летает — порядка 400 часов. Это жутко мало, чтобы считать себя опытным пилотом, но достаточно, чтобы подсесть на “летную иглу”. Приглашаю и вас стать авиазависимыми.
Запустить двигатель
Total votes 142: ↑133 and ↓9 +124
Comments 176

Путь олимпиадника в промышленное программирование

Reading time 6 min
Views 100K
IT-companies
Друзья, мне тут в руки попал рассказ Саши Куприна про его поездку на финал, знакомство с Яндексом, диплом и ночевки в офисе. С разрешения автора делюсь с вами!

Яндекс достаточно давно интересуется олимпиадными программистами. Будучи второкурсником, я слушал рассказы про ШАД Григория Кондакова, выступления Миши Левина. Получал футболки и брошюры на четвертьфиналах и полуфиналах чемпионата мира. Но, знаете, в то далёкое исключительно олимпиадное время совсем не волновали вопросы работы, а уж тем более дополнительного обучения. Ну, до поры, до времени.

На четвёртом курсе наша провинциальная команда (Orel STU) пробилась на финал ACM ICPC. Это был, мягко говоря, феерический успех – ведь мы никогда не срывали звёзд с неба, да и отбор был посерьёзнее, чем нынче. К нашей неугомонной радости случилась революция в Египте, которая стала причиной переноса финала из Шарм-Эль-Шейха в город Орландо солнечных штатов Америки.

А там-то и случился тот короткий разговор. Как-то вечером в chill zone мы болтали с Мишей Левиным о танцевальном агрегате, как вдруг подошёл на тот момент мне неизвестный Серёжа Чернышёв и, опознав по футболке участника финала, спросил: «В Яндекс к нам хочешь?» А чего отказываться? =)

Всё получилось как-то удивительно просто. Перекинулись парой писем. Уладили какую-то бюрократию — анкетку заполнить, даты согласовать. У меня оказался один формальный начальник и сразу несколько реальных.
Читать дальше →
Total votes 140: ↑109 and ↓31 +78
Comments 46

Квантовая механика для всех, даром, и пусть никто не уйдёт обиженным: часть первая

Reading time 10 min
Views 209K
Physics
Sandbox
Здравствуйте! Я хотел бы представить вашему вниманию отличное введение в квантовую механику, написанное Элиезером Юдковским; быть может, он известен вам по своему сайту lesswrong.com, посвящённому рационализму, предрассудкам, когнитивным парадоксам и ещё многим интересным вещам.
Читать дальше →
Total votes 119: ↑109 and ↓10 +99
Comments 149

L-Systems — математическая красота растений

Reading time 7 min
Views 39K
Biotechnologies
Красота растений привлекала внимание математиков веками. Активнее всего изучались интересные геометрические свойства растений, такие как симметрия листьев относительно центральной оси, радиальная симметрия цветов, и спиральное расположение семечек в шишках. «Красота связана с симметрией» (H. Weyl. Symmetry). Во время роста живых организмов, особенно растений, можно четко видеть регулярно повторяющиеся многоклеточные структуры. В случае составных листьев, например, маленькие листочки, которые являются частью большого взрослого листа, имеют ту же форму, что весь лист имел на раннем этапе формирования.

В 1968г. Венгерский биолог и ботаник Аристид Линденмайер (Aristid Lindenmayer) предложил математическую модель для изучения развития простых многоклеточных организмов, которая позже была расширена и используется для моделирования сложных ветвящихся структур — разнообразных деревьев и цветов. Эта модель получила название Lindenmayer System, или просто L-System.

Для тех, кто в теме и не хочет все читать целиком, проскрольте вниз, есть вопрос.
Дальше интереснее
Total votes 87: ↑85 and ↓2 +83
Comments 33

Алгоритм генерации QR-кода

Reading time 18 min
Views 158K
Programming *Algorithms *
Tutorial
Sandbox


QR код — это монохромная картинка, на которой некоторые устройства (например смартфон со специальным приложением) распознают текст. Этим текстом может быть не только простая фраза, но и, хоть это и не входит в официальную спецификацию, ссылка, номер телефона или визитная карточка. Такие коды чаще всего используют, чтобы закодировать ссылку и распечатать её на плакате или визитке.

Эта статья — подробная инструкция по созданию QR кода с примерами на каждом шаге, которая требует от вас только базового умения работать с бинарными данными и владения любым языком программирования (если вы хотите создать автоматический генератор QR кода).

За основу этой статьи взят цикл статей «QR Code Demystified» Джейсона Брауна (Jason Brown). В этих статьях опущено много нюансов, что вызвало у меня некоторые проблемы. Все эти нюансы учтены и упомянуты здесь.

Читать дальше →
Total votes 106: ↑99 and ↓7 +92
Comments 22

Собеседование на должность JavaScript разработчика

Reading time 4 min
Views 286K
JavaScript *Programming *


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Total votes 126: ↑115 and ↓11 +104
Comments 313

Что такое Томита-парсер, как Яндекс с его помощью понимает естественный язык, и как вы с его помощью сможете извлекать факты из текстов

Reading time 6 min
Views 86K
Яндекс corporate blog Open source *
Мечта о том, чтобы машина понимала человеческий язык, завладела умами еще когда компьютеры были большими, а их производительность – маленькой. Главная проблема на пути к этому заключается в том, что грамматика и семантика естественных языков слабо поддаются формализации. Кроме того, от языков программирования их отличает присутствие многозначности.

Конечно, мечта о полноценной коммуникации с компьютером на естественном языке пока еще далека от полноценной реализации примерно настолько же, как и мечта об искусственном интеллекте. Однако некоторые результаты есть уже сейчас: машину можно научить находить нужные объекты в тексте на естественном языке, находить между ними связи и представлять необходимые данные в формализованном виде для дальнейшей обработки. В Яндексе уже достаточно давно применяется такая технология. Например, если вам придет письмо с предложением о встрече в определенном месте и в определенное время, специальный алгоритм самостоятельно извлечет нужные данные и предложит внести ее в календарь.

image

Вскоре мы планируем отдать эту технологию в open source, чтобы любой мог пользоваться ей и развивать ее, приближая тем самым светлое будущее свободного общения между человеком и компьютером. Подготовка к открытию исходных кодов уже началась, но процесс этот не такой быстрый, как нам бы хотелось, и, скорее всего, продлится до конца этого года. За это время мы постараемся как можно больше рассказать о своем продукте, для чего запускаем серию постов, в рамках которой расскажем об устройстве инструмента и принципах работы с ним.

Называется технология Томита-парсер, и по большому счету, любой желающий может воспользоваться ей уже сейчас: бинарные файлы доступны для скачивания. Однако прежде чем пользоваться технологией, нужно научиться ее правильно готовить.
Читать дальше →
Total votes 154: ↑148 and ↓6 +142
Comments 78

Когда AES(☢) = ☠ — криптобинарный фокус

Reading time 2 min
Views 36K
Abnormal programming *Cryptography *Image processing *


Специалиста по реверс-инжинирингу Анжа Альбертини (Ange Albertini) из компании Corkami в шутку спросили: можно ли сгенерировать картинку JPEG, которая после обработки шифром AES опять превратится в валидный JPEG. Анж принял вызов, а по результатам исследования опубликовал презентацию с объяснением, как это делается с разными форматами.
Читать дальше →
Total votes 66: ↑55 and ↓11 +44
Comments 20

Cube iWork10 — планшет на полноценной Windows 8.1 Pro

Reading time 7 min
Views 64K
Box Overview corporate blog
Планшеты под управлением Windows долгое время не могли тягаться с Android и iOS по двум причинам, первой из которых являлась требовательность Windows к начинке устройств. Из этого вытекает вторая причина: на рынке почти не было достаточно мощных планшетов с Windows, способных потягаться с Android и iOS в плане продолжительности работы от аккумулятора.



Недавно ситуация решительным образом изменилась: во-первых, вышла Windows 8 с адаптацией под сенсорное управление, призванная завоевать именно рынок мобильных устройств и менее требовательная к производительности компонентов, во-вторых, компания Intel выпустила новое поколение процессоров Atom под названием Bay Trail, способных обеспечить достаточную производительность при низком энергопотреблении.
Читать дальше →
Total votes 41: ↑34 and ↓7 +27
Comments 51

Приключенческая игра, в которую играют путем изменения её Javascript-кода

Reading time 1 min
Views 97K
JavaScript *
Удивлен, что мимо Хабра прошла очаровательная приключенческая javascript-игрушка Untrusted.



Надо помочь герою преодолеть более 20 уровней, в процессе прохождения которых мы встретим боевых дронов, реки и лабиринты, ключи и замки, звонки «оператору Матрицы» и многое другое… К счастью, благодаря взломанному компьютеру у главного героя есть доступ к коду игры! И если на первых уровнях мы просто изменяем на ходу реальность, то в конце нам придется запускать в нее свои js-объекты, помогающие атаковать мега-босса.

Одно жаль — уровней мало. Бонус: милая музыка + хорошие комментарии в коде. Приятного вечера!
Total votes 169: ↑163 and ↓6 +157
Comments 114

Алгоритм поиска пути Jump Point Search

Reading time 6 min
Views 121K
Algorithms *
Sandbox
Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены.  В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти. Данный алгоритм представлен в 2011 году, а в 2012 получил высокие отклики. Что из себя представляет данный алгоритм и его реализацию можно прочитать дальше в статье.


Читать дальше →
Total votes 110: ↑108 and ↓2 +106
Comments 37

Наш велосипедный стартап

Reading time 4 min
Views 13K
Self Promo
Привет, хабраюзер

Этот пост будет интересен тому, кто ездит на велосипеде по городу или по крайней мере задумывался об этом. Думаю, многие из нас испытывали сожаление об отсутствии удобного сервиса для велосипедистов в наших крупных городах, когда во время очередной поездки в Европе, мы наблюдали велосипедистов, количество которых на дорогах легко сопоставимо с количеством автомобилистов. Велосипед — прекрасное средство передвижения по городу.

image
Читать дальше →
Total votes 83: ↑77 and ↓6 +71
Comments 82

Учёт статистической информации о пробках при поиске проезда на автомобиле

Reading time 7 min
Views 19K
2ГИС corporate blog Programming *Geoinformation services *
Не так давно на хабре вышла статья про алгоритмы маршрутизации в продуктах 2ГИС. Я продолжу рассказ коллеги, объяснив по каким принципам в ПК-версии мы ищем оптимальный по времени маршрут для автомобиля. Тут хотелось бы напомнить, что ПК-версия 2ГИС работает без подключения к интернету.

Читать дальше →
Total votes 41: ↑40 and ↓1 +39
Comments 22

Разбор всех задач и результаты Яндекс.Алгоритма

Reading time 17 min
Views 115K
Яндекс corporate blog Sport programming *Algorithms *
Буквально пару часов назад в Санкт-Петербурге завершился открытый чемпионат по программированию Яндекс.Алгоритм 2013. Состязания состояли из нескольких онлайн-раундов по 100 минут, за победу боролись более 3000 программистов из 84 стран. По результатам трёх отборочных раундов в финал вышли 25 лучших.

image

Финалисты должны были решить шесть алгоритмических задач за 100 минут. Первое место занял недавний победитель ACM ICPC 2013 в составе команды НИУ ИТМО Геннадий Короткевич (tourist), который набрал меньше всего штрафного времени. Второе место досталось выпускнику НИУ ИТМО Евгению Капуну (eatmore). Третье место занял представитель Тайваня Ши Бисюнь.

В подготовке заданий для чемпионата участвовали специалисты из нескольких стран: России, Беларуси, Польши и Японии. Главными составителями задач стали разработчики минского офиса Яндекса (как и все сотрудники компании, к участию в состязаниях они не допускались). Мы попросили всех авторов разобрать задания, которые они подготовили для участников Яндекс.Алгоритма. Кстати, все задачи не удалось решить никому, лучший результат — три решённые задачи — показали только три участника.
Читать дальше →
Total votes 91: ↑81 and ↓10 +71
Comments 30

Ликбез по типизации в языках программирования

Reading time 12 min
Views 461K
Programming *
Sandbox
image

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

В полной версии находится подробное описание всех видов типизации, приправленное примерами кода, ссылками на популярные языки программирования и показательными картинками.
Читать дальше →
Total votes 239: ↑232 and ↓7 +225
Comments 180

mySQLgame 2.0

Reading time 2 min
Views 15K
Self Promo
Устали от однообразных браузерных игр, которые представляют собой лишь набор кнопок, отправляющих запросы к базам данным? Встречайте Lone lord — игру, в которой нет кнопок и в которой надо писать запросы в базу данных.


Читать дальше →
Total votes 66: ↑53 and ↓13 +40
Comments 37

Архив Рекурсивный.7z: какой-то файл и архив Рекурсивный.7z

Reading time 8 min
Views 33K
Abnormal programming *
Tutorial
Sandbox
Формат архивов 7-Zip довольно гибкий и позволяет, например, включать весь архив как один из файлов внутри самого архива, лишь немного считерив. Разберём формат на примере: создадим почти вручную архив с именем «Рекурсивный.7z», содержащий два файла: «Какой-то файл.txt» с содержимым «Hello, Habrahabr!» и «Рекурсивный.7z», копию самого себя.

Краткая документация по формату входит в LZMA SDK. Архив начинается со следующей структуры размером 32 байта. Все позиции внутри архива кодируются как смещения относительно конца этой структуры.
сигнатура, 6 байт: { '7', 'z', 0xBC, 0xAF, 0x27, 0x1C };
версия формата, два байта { Major, Minor }, 7-Zip 9.20 пишет сюда { 0, 3 };
CRC следующих трёх полей, 4 байта;
смещение основного заголовка относительно конца этой структуры, 8 байт;
размер основного заголовка, 8 байт;
CRC основного заголовка, 4 байта.

Далее следуют данные файлов без какой бы то ни было информации о самих файлах и о границах данных. Основной заголовок, который описывает всё содержимое архива, размещается в конце архива.

Основной заголовок может быть сам по себе упакован (а также зашифрован). Поскольку он содержит структурированные данные (типа имён файлов), коэффициент сжатия достаточно неплохой. Именно для возможности подобного сжатия вся информация о файлах в 7z собрана в одном заголовке и полностью отделена от сжатых данных файлов. Признак упакованности — первый байт основного заголовка: он должен быть равен 1 у неупакованного заголовка и 0x17 у упакованного. Для создания архива вручную мы не будем ничего сжимать.

Читать дальше →
Total votes 95: ↑91 and ↓4 +87
Comments 22
1

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity