Ведущий разработчик в CIB Software, пишу на Python, Tcl, Matlab. Интересы: deep learning, machine learning, document processing, requirement management, test automation, data processing, big data, numerical simulations.

Наибольший вклад в теги

Все теги (14)

Лучшие ответы пользователя

Все ответы (27)
  • Шаблоны проектирования в Python. Что думаете по поводу этой книги?

    nikolay_karelin
    @nikolay_karelin
    Ведущий разработчик, пишу на Python, Tcl, Matlab
    Немного просмотрел эту книгу. Боюсь, что книжка весьма слабенькая: автор явно пишет с позиций Java-программера, и масса примеров у него откровенно не питонические и частенько он не понимает о чем идет речь (например list/dict comprehensions или декораторы у него описаны более чем странно).

    В добавок, книжка так и не закончена и с большего (судя по коммитам на BitBucket) была заброшена 2 года назад.

    По Питону я больше рекомендую книги Марка Саммерфилда, www.qtrac.eu/marksummerfield.html

    Последняя его книга, Python in Practice (ISBN 978-0321905635), как раз и посвящена во многом шаблонам - я ее рекомендовал своим коллегам, кому надо было от C++ или C# перейти на Питон.
    Ответ написан
    3 комментария
  • Нейронная сеть на python - стоит ли браться?

    nikolay_karelin
    @nikolay_karelin
    Ведущий разработчик, пишу на Python, Tcl, Matlab
    Присоединюсь с предыдущему ответу - сначала надо понять задачу (желательно вместе с преподом).

    Что касается Питона и машинного обучения: этот язык сейчас очень популярен в задачах машинного обучения, как "язык-клей". Идея в том, что берется готовая библиотека (или несколько) и пишется небольшой скрипт - загрузка данных, конфигурация сети, параметры оптимизации, постобработка, визуализация и все такое. Сами вычисления при это делает скомпилированный код (лучше всего на видеокарте). И не надо быть супер-крутым программистом, чтобы учить сеть.

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

    Кстати, вместо TensorFlow советую смотреть на Keras - он более высокоуровневый. Еще популярный фреймворк Caffe - на нем много задач по компьютерному зрению делают.

    И напоследок - есть очень хорошие курсы от Стэнфорда: CS 20SI: Tensorflow for Deep Learning Research - web.stanford.edu/class/cs20si/index.html и CS231n: Convolutional Neural Networks for Visual Recognition - cs231n.github.io и cs231n.stanford.edu

    Там и презентации и видео и примеры.

    А что за тема магистратуры?
    Ответ написан
    5 комментариев
  • Есть ли хорошие туториалы по aiohttp и asyncio?

    nikolay_karelin
    @nikolay_karelin
    Ведущий разработчик, пишу на Python, Tcl, Matlab
    Книжка "Fluent Python" (не знаю, есть ли по русски), видео и блог Андрея Светлова - он Python Core Contributor & aiohttp maintainer ;)
    Ответ написан
    2 комментария
  • Изучение python не для новичков, с чего начать?

    nikolay_karelin
    @nikolay_karelin
    Ведущий разработчик, пишу на Python, Tcl, Matlab
    Рекомендую или начать свой проект или даже лучше присоединится к чему-нибудь интересному на ГитХабе (все равно 70-90% реальной работы - это разбор и фикс чужого кода, ну или своего старого).

    И порекомендую хорошую книжку: Марк Саммерфилд, Python in Practice, www.qtrac.eu/marksummerfield.html (ISBN 978-0321905635)
    Ответ написан
    1 комментарий
  • Питон считают медленным из-за того, что он скриптовый?

    nikolay_karelin
    @nikolay_karelin
    Ведущий разработчик, пишу на Python, Tcl, Matlab
    Во первых, строго говоря, Python компилируется в байт-код, как и Java.

    Насколько я знаю ситуацию, довольно большой вклад в медленную работу Python дает его динамическая природа: когда виртуальная машина Python встречает выражение типа a + b, ей надо проверить, какие именно типы имеют величины из этих двух переменных, определены ли специальные методы типа __add__() и т.п. - это может занять вагон времени, особенно если происходит внутри цикла.

    Хочу заметить, что доступные компиляторы для Python: PyPy (JIT), Numba (JIT, для численных расчетов), Cython (конвертер в C) - основаны на выводе типов и/или специальных аннотациях, иначе большой скорости программы не будет и после них.

    Я на эту тему пару докладов делал в прошлом году: https://www.youtube.com/watch?v=aVriaZJDHks (на английском) и https://dev.by/lenta/space-blog/pycon-belarus-2016 (на русском).
    Ответ написан
    1 комментарий