Инструмент глубокого обучения и моделирования
В этой статье мы обсудим простую сеть 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. Матрица неточностей в машинном обучении