Pull to refresh
91
0
Send message
Просто оставлю это здесь

драфт акка буткампа от урока 1 до урока 5 первого блока

Если кому-то хочется форки приветствуются

ну к кафе можно и пхп прикрутить раз уж на то пошло )
Потому что октав не умеет в CUDA, cudann и тому подобные вещи для интеграции глубоких сетей с GPU

Потому что для питона есть куча готовых моделей и на нем написан TensorFlow в который гугл вбахивает очень много

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

Если рассматривать машинное обучение в целом и если есть желание поколупать математику октав ок. Но есть scikit.learn, numpy, и прочая прочая прочая

Плюс как правильно подсказывают удобные IDE

И еще python notebooks

Я в свое время прошел курс Andrew Ng, который использовал как раз octave
Потом был курс от яндекса на питоне. На питоне легче.
cs231n.stanford.edu использует питон
cs224d.stanford.edu использвет питон
www.udacity.com/course/deep-learning--ud730 тоже использует питон

Если есть большое желание разобраться с нуля именно в дип лернинге то cs231n.stanford.edu
Если нет времени но разобраться все равно хочется, то

http://brohrer.github.io/how_convolutional_neural_networks_work.html
Ну а в сети генераторе там дорогое переобучение (4 часа на титанх, то есть в амазоне часов 20), поэтому просто поиграться тоже не выйдет.

а оверлап я точно попробую. может что-то и выйдет.
В общем я проверил Chainer реализацию вчера. Да, она сильно быстрее и да, она может обрабатывать бОльшие картинки.
Но для размера 1400х1020 она отжирает 9 гиг памяти.

Поэтому вопрос 10к на 10к остается открытым.

Кстати я все еще не понимаю почему для сети есть зависимость от роста изображения. Ведь размер самой сети фиксирован.

Должна же быть возможность порезать картинку на части и скармливать по отдельности. Или сделать что-то типа страйдов, чтобы сгладить переходы.
А вот по размеру картинок какие-то ограничения есть? Ну например я точно знаю что «A Neural Algorithm of Artistic Style» на амазоновских инстансах больше 700 пикселей +- не тянет. Надо или переходить на Титан Х, или использовать что-то другое.
Собственно вопрос в том, куда можно посмотреть в сторону этого другого? Если я например хочу применить стиль к картинке 10Кх10К?
Напилить микросервисы это не самая сложная задача.

Потому что буквально после двух простых рест сервисов возникнут следующие вопросы

1) Service discovery.
client side? server side? Как у Go с готовыми библиотеками под это дело? А такими которые уже опробованы в продакешене? А такими, которые опробованы в продакшене крупными компаниями аля нетфликс?
Понятное дело что можно использовать клиентов для Consul или Eureka.

2) Circuit breaker
Вот тот вот сервис подтупливает и отвечает по 1000 секунд вместо 5. Из-за этого все сервисы, которые на него завязаны тоже начинают тупить. Есть ли готовый продакшен фреймворк для go в этом случае? (Hystrix с страницей отчета)

3) Нужно сделать CRUD over REST, с пагинацией, с базовыми селектами.
Есть ли удобные и проверенные временем фреймворки для Go под это дело?

4) OAuth и сотоварищи. Насколько просто повесить на Go endpoint-ы авторизацию и аутентификацию?

5) Tracebility. Есть ли возможность *просто* отследить все сервисы через которые прошел запрос? Так, чтобы без руками пробрасывать UUID correlationID в заголовках или теле запроса?

6) Логирование. Stdout, конечно круто, а что насчет простой интеграции с ELK?

В Java мире эти вопросы закрыты более менее нормально.
Проблема не в создании микросервисов, а в оркестровке и отладке зоопарка из 20 хотя бы сервисов, каждый из которых имеет по 3-4 инстанса.
И понятное дело что в ИТ все вопросы решаемы. Но количество приседаний, которые необходимо для этого сделать очень отличатся.

И раз мы уже пытаемся минимизировать размер docker образа, почему бы не воспользоваться
Erlang docker 17MB?

В котором есть let it fail, supervision trees, и отличный веб-серве cowboy.

Ну тут надо понимать, что пытаемся сделать

Я бы и foreach не использовал, а брал бы map/fold функции или их аналоги.
— Ну что могу предложить, господа? Пять МП, гранаты, дают осечки — примерно 50 на 50, вот пистолеты есть: четыре вальтера, один парабеллум — это из импортного… И теперь отечественный производитель — тульский токарев, он же ТТ, сегодня один, Извини, очень быстро разбирают…
— Слушай, а откуда всё это?
— Эхо войны…

©
Айра Левин. «Этот идеальный день»
Оперативное обновление панорам на основе пользовательских фотографий, например.Берем актуальные фотки с GPS тегами и имеем профит.
Собственно, реализацию этой возможности можно уместить ровно в одну строку.
Главное понимать, когда строка это свойство, когда — название функции, а когда — просто строка.
Разделение на map и reduce было сделано специально. Давайте представим, что buffer.length не просто buffer.length, а какое-то тяжелое вычисление. Которое надо раскинуть на кластер машин для ускорения.

В случае с явно выделенным map это будет просто и писать и читать. Если же все запихнуть в один reduce- это будет сложнее для восприятия.

Композиция функций поэтому и получилась такой мощной, что сначала мы разделили все на элементарные блоки. Их проще писать, их проще понимать, их проще тестировать.
Это перевод 45-минутной презентации. Полгодика на один школьный урок? Я думаю вы лукавите )
Конечно можно. Но чем проще каждый шаг, тем проще понимать, что происходит. Особенно для тех, кто не сильно знаком с reduce.

Можно ведь и
function combine(scripts, callback){
    async.map(scripts, ajax, function(contents){
        callback(contents.join(""));
    });
}


заменить на

function combine(scripts, callback){
    async.map(scripts, ajax, function(contents){
        callback(contents.reduce(function(result, current) { return result + current},""));
    });
}


Чтобы совсем функцоинально. Но будет ли понятнее? :)
Да, эти нюансы очень важны, но их редко где можно встретить описанными вместе. Да еще и в контексте функционального программирования. На ум приходит только Secrets of Javascript Ninja.

Да, не работают, но чукча не писатель, чукча переводчик :)

Внизу кстати правильно подсказали про underscore.js.
То же самое, что и выводом типов ;) Я хочу заинтересовать людей, чтобы они начали смотреть по сторонам. Ступившие на скользкую дорожку функционального программирования рано или поздно знакомятся с Haskell. И ленивостью, и pattern matching, и монадами с функторами. И другими страшными словами.
Не совсем уловил. Какой книги то?
Отчего же, вполне функционально.
Изменяемых переменных нет.
Рекурсивный обход.
Fold чистой воды.
Красиво )

Information

Rating
Does not participate
Registered
Activity