Python для чайников: простая нейросеть

python1-5-4826534

21 мая 2020 Python

На прошлом уроке мы с вами создали простое веб-приложение печатающее «Hello World». Как я и обещал в этом уроке мы уже создадим простую нейросеть на языке Python, да да и это не шутка, такой вот это простой язык. Для Python создано большое количество готовых библиотек для построения нейросетей, и вообще этот язык сейчас очень популярен для разработки в этой сфере. Мы создадим простую нейросеть, и как обычно она будет запускаться как интернет-страница в браузере. Давайте начнем!

Немного теории

Код я взял из этого видео, которое уже выкладывал. Если вы еще его не посмотрели, то первым делом вам нужно это сделать. Всего за 30 минут вы узнаете, что такое нейросеть и как она работает, а так же поймете о чем будет наше приложение и как оно работает.

Установка numpy

Для работы приложения нам потребуется установить библиотеку numpy — это библиотека Python для работы массивов и различных математических функций. Сделать это можно как обычно через командную строку вызвав установщик пакетов pip, который входит в стандартный дистрибутив Python. В командной строке вводим pip install numpy:

python3-1-7305254 Установка numpy

Создание нейросети

В папке cgi-bin создайте новый файл main.py и добавьте в него следующий код:

 #!/usr/bin/env python3
import numpy as np

vodka = 0.0
rain = 1.0
friend = 0.0

def activation_function(x):
    if x >= 0.5:
        return 1
    else:
        return 0

def predict(vodka, rain, friend):
    inputs = np.array([vodka, rain, friend])
    weights_input_to_hiden_1 = [0.25, 0.25, 0]
    weights_input_to_hiden_2 = [0.5, -0.4, 0.9]
    weights_input_to_hiden = np.array([weights_input_to_hiden_1, weights_input_to_hiden_2])

    weights_hiden_to_output = np.array([-1, 1])

    hiden_input = np.dot(weights_input_to_hiden, inputs)
    print("hiden_input: " + str(hiden_input))

    hiden_output = np.array([activation_function(x) for x in hiden_input])
    print("hiden_output: " + str(hiden_output))

    output = np.dot(weights_hiden_to_output, hiden_output)
    print("output: " + str(output))
    return activation_function(output) == 1

print("Content-type: text/html")
print()
print("result: " + str(predict(vodka, rain, friend)))

Запустите веб-сервер так же как в прошлом уроке, и откройте страницу в браузере. А вот и результат работы приложения:

python3-2-3737604 Нейросеть на Python

Как видите уже на 3 уроке вы уже написали хоть и простую, но настоящую нейронную сеть на языке Python. Вот такие возможности дает этот язык программирования! Спасибо и успехов вам в изучении этого замечательного языка!

Читайте также: