Инструмент глубокого обучения и моделирования

В этой статье мы обсудим простую сеть nengo для генерации и моделирования сигнала волны.

Nengo - это инструмент для создания, разработки и моделирования проектов глубокого обучения.





Если nengo не установлен в вашей среде, загрузите с помощью pip.

pip install nengo

Нам нужно импортировать библиотеки

import nengo
import numpy as np
import matplotlib.pyplot as plt

Теперь мы создадим сеть и соединение в nengo, чтобы определить вход и соединить их.

num = 0
np.random.seed(num)
#We need seed to process the network's build
with nengo.Network(seed=num) as net:
#Giving input to the node for data summary
    inpt = nengo.Node(nengo.processes.WhiteSignal(1, 5, rms=0.3))

WhiteSignal - это метод класса внешнего интерфейса API в процессе, который фильтрует белый шум через фильтр нижних частот. Этот сигнал создается для того, чтобы мощность была ниже частоты среза.

Аргументы в WhiteSignal: период, высокий, среднеквадратичное значение, y0, начальное значение. В этом примере период = 1, максимум = 5 и среднеквадратичное значение = 0,3.

  • период будет генерировать периодический белый шум.
  • Значение high - это предел частоты среза фильтра нижних частот.
  • rms - это среднеквадратичное значение отфильтрованных сигналов.

Следующий шаг - указать количество нейронов и размеры.

# To simulate Sin wave with 20 neurons and 1 dimension
    square = nengo.Ensemble(20, 1)
# This is second ensemble input
    sin = nengo.Ensemble(20, 1)
# Creating another node to output summary
    outpt = nengo.Node(size_in=1)

Теперь пора соединить всех и проверить их. Метод зондирования используется для получения данных из выходного моделирования.

# Connect all input and output with connection method
    nengo.Connection(inpt, square)
    nengo.Connection(square, sin, function=np.square)
    nengo.Connection(sin, outpt, function=np.sin)
# using probe to get input and output data
    inpt_p = nengo.Probe(inpt)
    outpt_p = nengo.Probe(outpt, synapse=0.01)

Теперь запустим симулятор, чтобы получить данные.

with nengo.Simulator(net, seed=seed) as sim:
    sim.run(1.0)

Теперь мы определим функцию для построения сигналов.

def plot(plot_sim, ax=None, idx=slice(None)):
    if ax is None:
        plt.figure()
        ax = plt.gca()
    ax.plot(plot_sim.trange(), plot_sim.data[inpt_p][idx],
    label="x")
    ax.plot(plot_sim.trange(), np.sin(plot_sim.data[inpt_p][idx]**
    2), label="sin(x^2)")
    ax.plot(plot_sim.trange(), plot_sim.data[outpt_p][idx],
    label="output")
    ax.legend()
plot(sim)

Результат графика показан ниже:

Заключение:

В этой статье дается основная идея использования инструмента nengo и использования объектов в программе.

Надеюсь, статья вам понравилась. Свяжитесь со мной в моих LinkedIn и twitter.

Рекомендуемые статьи

1. НЛП - от нуля до героя с Python
2. Структуры данных Python Типы данных и объекты
3. Концепции обработки исключений в Python
4. Анализ главных компонентов в уменьшении размерности с Python
5. Полностью объясненная кластеризация K-средних с помощью Python
6. Полностью объясненная линейная регрессия с Python
7. Полностью объясненная логистическая регрессия с Python
8. Основы временных рядов с помощью Python
9. Преобразование данных с помощью Python - Часть 1
10. Матрица неточностей в машинном обучении