Лучшая библиотека Юлии для нейронных сетей

12

Я использую эту библиотеку для базового построения и анализа нейронной сети.

Однако он не поддерживает построение многослойных нейронных сетей и т. Д.

Итак, я хотел бы знать о каких-либо хороших библиотеках для продвинутых нейронных сетей и Deep Learning в Юлии.

Dawny33
источник
1
@itdxer Спасибо за ссылку. Можете ли вы выразить это как ответ, уточнив это?
Dawny33

Ответы:

7

Mocha.jl - Mocha - это среда глубокого обучения для Джулии, вдохновленная C ++ фреймворком Caffe.

Проект с хорошей документацией и примерами. Может быть запущен на процессоре и графическом процессоре.

Бартломей Твардовский
источник
1
Я думаю, что они прекратили разработку Mocha, и MXNet - это путь вперед. См. Комментарий Мальмё здесь: github.com/pluskid/Mocha.jl/issues/157
niczky12
Некоторое время я использовал Mocha, у него есть некоторые проблемы и нет сообщества, я согласен, что MXNet - это то место, где идет активная разработка. Также есть оболочка Джулии для Tensorflow: github.com/malmaud/TensorFlow.jl (дисклеймер: я не использовал ни MXNet, ни TF Julia Wrapper)
davidparks21
9

MXNet Julia Package - гибкое и эффективное глубокое обучение в Julia

https://github.com/dmlc/MXNet.jl

Pros

  • Быстро
  • Масштабируется до нескольких графических процессоров и распределенных настроек с автоматическим параллелизмом.
  • Легкий, эффективный по памяти и переносимый на интеллектуальные устройства.
  • Автоматическое дифференцирование

Cons

  • Пока не имеет операций низкого уровня для реализации алгоритма. Но они работают над этой проблемой ( https://github.com/dmlc/mxnet/issues/586 )
itdxer
источник
2

Просто чтобы добавить более свежий (2019) ответ: Flux .

Flux is an elegant approach to machine learning. It's a 100% pure-Julia stack,
and provides lightweight abstractions on top of Julia's native GPU and
AD support. Flux makes the easy things easy while remaining fully hackable.

Например:

model = Chain(
  Dense(768, 128, σ),
  LSTM(128, 256),
  LSTM(256, 128),
  Dense(128, 10),
  softmax)

loss(x, y) = crossentropy(model(x), y)

Flux.train!(loss, data, ADAM(...))
Wayne
источник
1

Одна из более новых библиотек - Knet.jl. Это будет делать такие вещи, как использование графических процессоров под капотом.

https://github.com/denizyuret/Knet.jl

Крис Ракауцкас
источник