python Neurolab - Как я могу получить параметры прямоугольника?

Может ли кто-нибудь объяснить мне, как использовать эту библиотеку:

http://code.google.com/p/neurolab/

для создания нейронной сети, которая следует этим правилам:

Нейронная сеть Нейролаб должна рассчитать параметры прямоугольника

  • Вход: длины двух сторон
  • Выход: площадь, периметр, квадрат или нет.

Я понимаю, что мне нужен Feed Forward Multilayer Perceptron (newff).

Вот мой не рабочий код:

      import numpy as np
import matplotlib.pyplot as plt
import neurolab as nl

input_data=np.array
input_data=np.array
([[0.16,0.16 ,1], 
[0.1,0.07  ,0],
[0.19,0.1  ,0],
[0.63,0.09 ,0],
[0.04,0.04 ,1],
[0.07,0.03, 0],
[0.05,0.05, 1],
[0.05,0.09,0 ],
[0.08,0.05,0],
[0.03,0.03,1],
])

data = input_data[:, 0:2] #bus duomenis (tinklo iejimai)
labels = input_data[:, 3:] #bus zymos (tinklo isejimai)

dim1_min, dim1_max = data[:,0].min(), data[:,0].max() #pirmo tinklo iejimo minimumas ir maksimumas
dim2_min, dim2_max = data[:,1].min(), data[:,1].max() #antro tinklo iejimo minimumas ir maksimumas
dim3_min, dim3_max = data[:,2].min(), data[:,2].max() #antro tinklo iejimo minimumas ir maksimumas

dim1 = [dim1_min, dim1_max]
dim2 = [dim2_min, dim2_max]
dim3 = [dim3_min, dim3_max]

neural_net = nl.net.newff([[dim1, dim2,dim3]], [3, 2, 4,3]) 

neural_net.trainf = nl.train.train_gd

error = neural_net.train(data, labels, epochs = 1000, show = 100, goal = 0.01)



print('ivesti Plotas, perimetras, kvadratas ar ne:')
ilgis=input()
plotis=input()
kvadratas =input()
nekvadratas=input()
data_test = [[ilgis,plotis,kvadratas]]
for item in data_test:
    atsakymas=neural_net.sim([item])[0] #gauname tinklo atsakyma surasyta i masyva
    print(item, '-->', atsakymas)
    if atsakymas[0.1] and atsakymas[0.1]:
        print("kvadratas")
    elif atsakymas[0.6] and atsakymas[0.5]:
        print("nekvadratas")
    elif atsakymas[0.7] and atsakymas[0.9]:
        print("nekvadratas")`

0 ответов

Другие вопросы по тегам