Как я могу оптимизировать повторяющуюся сеть в Julia с помощью Flux?
У меня есть повторяющаяся нейронная сеть в Flux формы:
net = Chain(LSTM(8,100), Dense(100,1))
Входными данными в сеть являются минутные столбцы данных об акциях (каждый из этих столбцов имеет 8 номеров), где может быть различное количество столбцов, подаваемых в повторяющуюся сеть. Я повторяю это примерно на 2000 различных акциях. Вот как обычно выглядят данные:
Я использую следующую функцию для передачи данных в повторяющуюся сеть:
function mapNetworkOverStocks(net, stocksInput)
unFlattened = map(x -> (output = net.(x); Flux.reset!(net); output), stocksInput)
map(x -> map(y -> y[1], x), unFlattened)
end
и вызывая его с помощью:
mapNetworkOverStocks(net, allStocksData)
Проблема в том, что он работает довольно медленно. В Mathematica я могу получить аналогичный код для запуска в7.79389
секунд, пока это занимает 93.413394
секунд в Джулии. Есть ли способ заставить это работать так же быстро, как версия для Mathematica?