**5.3. Хардверска и софтверска конфигурација** Моделот на LSTM мрежата е имплементиран во python, со помош на **Keras ** и **!TensorFlow** , додека потатоците се обработуваат со помош на **music21** . [[Image(keras-logo-2018-large-1200.png,4%​)]] **Keras** е програмски интерфејс за невронски мрежи од високо ниво, а може да се извршува на !TensorFlow, CNTK, или Theano. Напишан е во python, а се користи за брзо експериментирање. [[Image(tensorflow-logo.png​,5%)]] **!TensorFlow** е отворена платформа за машинско учење, односно софтверска библиотека за нумерички пресметувања со високи перформанси. [[Image(music21.png​)]] **Music21** е множество од алатки за компјутерска музикологија, напишани во python. Оваа алактка ќе се искористи за процесирање на музичките нотации од документите во МИДИ формат, екстракција на содржините од податочното множество и за преведување на излезот од тренираниот модел на мрежа во музичка нотација. Во креирање на архитектурата на моделот на невронската мрежа користен e CuDNNLSTM слој, дефиниран во Keras како брза имплементација на LSTM со помош на CuDNN . **CuDNN** е библиотека, на** Nvidia CUDA**, со примитиви за забрзување на графичките процеси за длабоки нервни мрежи. CUDA® е паралелнo компјутерска платформа и програмски модел развиен од NVIDIA за извршување на процеси на графичките процесорски единици (GPUs). Со CUDA, програмерите можат драматично да ги забрзаат компјутерските апликации преку искористување на моќта на графичките процесори. Во имплементацијата се исто така искористени: - Модулот **glob** - Модулот **pickle** - **Numpy ** – пакет за научни пресметувања со python Верзијата на **python** која е користена е: **3.6**. Oд страна на хардверска конфигурација користена е графичка **NVIDIA !GeForce GTX 850M**.