Java & JVM langs (Kotlin)
478 subscribers
71 photos
4 files
104 links
Заметки с конференций, тренингов по Java, а также ссылки на полезные материалы для самообразования от Алексея Зиновьева https://t.iss.one/zaleslaw
Download Telegram
Одновременно с выходом подкаста вышел большой стрим про Apache Ignite ML
https://www.youtube.com/watch?v=SnUgcT06P1E

Это было мое первое выступление с ноября 2019 года, тяжело после такого перерыва, да еще и на discord сразу прочувствовать аудиторию - но материал был хороший, атмосфера дружелюбная, вопросы - полезные для понимания ситуации. Вещал из свое home office, к этому, впрочем, не привыкать. Если вдруг кто-то соскучился по моему фейсу и вебинарам - вот они)
Мне так понравился Kotlin-онлайн ивент, что захотелось поделиться несколькими интересными наблюдениями о развитии Kotlin и экосистемы. Поэтому я запланировал написать несколько сообщений об этом.

Начнем с того, что Kotlin - растет, причем, слава богу, не только в мобильной разработке (я ничего не имею против мобилок, просто не моя сфера теперь).

Во-вторых, для меня культурным шоком является то, что ему нацелили очень амбициозную цель - быть "фронтенд-языком", который умный конпелятор превратит в нативный код или в байткод JVM или в JS-мешанину.

Также, авторы Kotlin подтвердили курс на вынос все больше и больше общих моментов в единую кодовую базу на kotlin.

Источник: keynote https://www.youtube.com/watch?v=pD58Dw17CLk&feature=emb_title
Светлана Исакова сделала довольно подробный обзор фич Kotlin 1.4. Это минорная версия языка и прошло не так много времени с момента выхода громких 1.1 и 1.2, поэтому список не поражает воображение, но если вы уже пишите на Kotlin пару лет, то многие вещи будут вам полезные в ежедневной рутинной работе.

• SAM conversions for Kotlin classes
• Explicit API mode
• Trailing comma
• Break and continue inside when expressions
• Mixing named and positional arguments
• New type inference
• Unified exception type for null checks

Мне как создателю библиотек на kotlin подошли очень Explicit API mode и Mixing named and positional arguments.

Не скажу, что я восторге от функциональных интерфейсов fun interface (да-да! и так можно теперь), но я в целом не фанат DSL-ей (мне кажется это заради них делалось).

Света плотно работает с разработчиками Kotlin, поэтому объяснения почему приехала та или иная фича - у нее из первых рук.

https://www.youtube.com/watch?v=9ihevvUCoG0&feature=emb_title
Добрый день, читатели, я почти 9 месяцев работаю в JetBrains и близок к релизу одного интересного артефакта: Kotlin Deep Learning - фреймворка в духе Keras.

Под капотом фреймворка - TensorFlow, вызывать духов можно и из Java.

Если вам интересно принять участие в тестировании ранней версии, заполните, плиз форму.

https://docs.google.com/forms/d/e/1FAIpQLSd2VKmFCAHXtN8ZSDlD_ymDsID0Qf_-FgR6SIzLbD9FakbRwg/viewform
Forwarded from Big Data Russia
А пока группа добровольцев принялась за изучение альфа-версии KotlinDL, а спешу опубликовать один из самых сложных постов в своей жизни, за которым стоят десятки часов труда - результаты вычислительного эксперимента для основных алгоритмов Apache Ignite ML

https://zaleslaw.medium.com/apache-ignite-ml-performance-experiment-4036dc0386a3

При этом ясно, что время работы алгоритма машинного обучения, а в особенности в распределенной среде, такой как Apache Ignite зависит от множества факторов и сложно получить 1-в-1 числа (тем более, что тесты достаточно синтетические).

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

P.S. Почему я прошу нахлопать +50 - это увеличивает показы статьи внутри платформы Medium и статьи начинают жить своей жизнью.
P.P.S Мои статьи на medium всегда будут бесплатными, за paywall их не планирую убирать, Science и Research должны принадлежать народу.
P.P.P.S Таблицы в Medium вставлять - это просто ад.
На этой неделе я веду коллективное СМИ, приходите почитать.
https://twitter.com/dsunderhood

Темы, на которые буду писать:

1. Биография (матфак ОмГУ->аспирантура->начало трудовой карьеры->рынок труда в небольшом городе)
2. ML на JVM, текущее состояние
3. SparkML/Ignite ML
5. Kotlin for Data Science
6. Tensorflow, кишки
7. Разное (работа на удаленке, взгляды на жизнь)
Forwarded from Big Data Russia
Добрый день, рад сообщить, что первая альфа-версия KotlinDL (Keras на Kotlin поверх Tensorflow вышла)
https://github.com/JetBrains/KotlinDL

Ставьте звезды, они пригодятся!
Вот наша команда в JetBrains и выпустила многомерные массивы в стиле numpy. Под капотом Openblas или jvm на выбор!
Вышла Java 16 с ее records, поддержкой новых стандартов C++ 14 (вместо унылого, но понятного 98), Foreign Linker API (чтобы ходить в native шустрее чем с JNI) и прекрасный Vector API на развитие которого многие в мире ML/DL возлагают большие надежды. https://habr.com/ru/post/547364/ - тут хороший обзор новых фич. Kotlin без больших проблем всосал в себя Java 16 (я опасался все же за records). Впрочем, ни один OSS проект на Java, к которым я имею отношение не переходит на Java 16 прямо сейчас - скорее это поле для экспериментов и тестирования. Однако, выход новой версии Java на каждом проекте добавляет дровишек в топку разговоров "а не пора ли нам поднять версию с java 8 до java 11". Но обычно дискуссия затихает на том, что "пользователей на java 8 терять не хочется".
#реклама IT-индустрия изменила то, как мы учимся, работаем, знакомимся и едим. Пришла очередь автомобильной индустрии. 15 апреля в 17:00 на Arrival Live команда компании впервые публично расскажет про свой подход к автомобилестроению, мобильные микрофабрики вместо огромных заводов и софт, способный спрогнозировать неисправности и произвести ремонт до поломки.

Возможно онлайн или офлайн участие, но по предварительной регистрации.
Присоединяйся https://meetup.arrival.com/?utm_source=tg&utm_medium=post&utm_campaign=javajvm
Forwarded from Big Data Russia
Я тут записал видео о грядущем полновесном релизе библиотеки, над которой работаю - KotlinDL (https://github.com/JetBrains/KotlinDL), ну вы помните ее.
https://www.youtube.com/watch?v=jCFZc97_XQU&t=10s
Весьма горжусь новым релизом, потому, что в нем появилась возможность загружать себе и дотренировывать модели семейств ResNet, VGG и MobileNet для распознавания изображений.
Также был реализован удобный Kotlin DSL препроцессинг изображений поверх традиционной java-графики.
Появился нормальный Functional API, в целом это уже становится похожим на базовый Keras по функционалу.
Конечно, же, все это нормально работает и из Java, есть примеры и на Java.
P.S Финальный релиз выйдет в течение мая (чортовы майские), а превью уже доступно под именем 0.2-alpha-1
https://github.com/JetBrains/KotlinDL/blob/master/examples/src/main/java/LeNetClassic.java - вот пример на Java, кстати, понимаю, что на билдерах выглядело бы более прикольно, чем на конструкторах, надеюсь появится доброволец, который нам поможет сделать Java API симпатичным
Вышла статья про KotlinDL на Хабре, буду благодарен вам, если вы прочтете статью и поможете в ее продвижении (нам очень нужно, чтобы все разработчики и разработчицы, которым это может быть полезно, узнали), а без стрелочек вверх, они просто утонут.
Одна из лучших инноваций этого года, мои pet проекты на Android сразу стали приятными и шелковистыми на ощупь.

Надеюсь, подобные вещи скоро появятся для быстрого клепания desktop у каждого jvm - ного desktop-щика