Форум программистов, компьютерный форум, киберфорум
jujune_pies
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Помогите с табуляцией

Запись от jujune_pies размещена 18.05.2020 в 01:06

Я начала из интереса работу с нейросетями в Python, но при выводе выходит
File "test.py", line 2
def sigmoid(x): #функция активации(сигмоида)
^
IndentationError: unexpected indent

Вот код:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import numpy as np #библиотека для точных математических расчетов
    def sigmoid(x): #функция активации(сигмоида)
        return 1/(1+np.exp(-x)) 
    def MSEfunc(Ytrue,Ypred): #функция расчета среднеквадратической ошибки
        return (Ytrue – Ypred)**2
    training_inputs = np.array([[0,0,0,0], #входные данные для тренировки нейросети
                                [0,0,0,1],
                                [0,0,1,0],
                                [0,0,1,1],
                                [0,1,0,0],
                                [0,1,0,1],
                                [0,1,1,0],
                                [0,1,1,1],
                                [1,0,0,0],
                                [1,0,0,1],
                                [1,0,1,0],
                                [1,0,1,1],
                                [1,1,0,0],
                                [1,1,0,1],
                                [1,1,1,0],
                                [1,1,1,1]])
    training_outputs = np.array([[0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0]]).T #выходные данные для тренировки нейросети
    np.random.seed(312) #сид рандомизации
    synaptic_weights = 2 * np.random.random((4,1))1 #заполняем рандомными числами вес(4 штуки,т.к. 4 критерия)
    for i in range(20000): #проводим 20000 тестов(для обучения нейросети)
        input_layer = training_inputs #входная последовательность
        outputs = sigmoid(np.dot(input_layer,synaptic_weights))#выходная последовательность(на текущий момент(с текущими весами))
        err = training_outputs – outputs #разность между предыдущим весом и текущим
        adjustments = np.dot(input_layer.T,err*(outputs*(1-outputs))) #высчитывание величины, для корректировки веса
        synaptic_weights += adjustments #корректировка веса
    #обучение нейросети закончилось.Посчитаем среднеквадратическую ошибку
    MSE_inputs = np.array([ [0,0,0,0], #введем начальные значения для подсчета
                            [0,0,0,1],
                            [0,0,1,0],
                            [0,0,1,1],
                            [0,1,0,0],
                            [0,1,0,1],
                            [0,1,1,0],
                            [0,1,1,1],
                            [1,0,0,0],
                            [1,0,0,1],
                            [1,0,1,0],
                            [1,0,1,1],
                            [1,1,0,0],
                            [1,1,0,1],
                            [1,1,1,0],
                            [1,1,1,1] ])
    
 
    MSE = 0 #изначально ошибка равна 0
    for i in range (16): #для всех 16 значений
        output = sigmoid(np.dot(MSE_inputs[i],synaptic_weights))#высчитываем предполагаемое значение
        print(i+1,» тест: «)
        print(«Истинное значение переменной: «,training_outputs[i],» Предполагаемое значение переменной: «,output,» Итерационная ошибка: «,MSEfunc(training_outputs[i],output)/16 )
        MSE+=MSEfunc(training_outputs[i],output)/16 #накапливаем ошибку(путем вызова функции для подсчета ошибки в конкретный момент)
    print(«MSE=»,MSE) #выводим на экран ошибку
    new_input = np.array([1,1,1,1]) #инициализируем новые данные  
    #далее идет заполнение данных
    print(«Введите 0,если хлебу более трех дней,иначе введите 1»)
    new_input[0] = input()
    print(«Введите 0,если на хлебе нет плесени,иначе введите 1»)
    new_input[1] = input()
    print(«Введите 0,если хлеб плохо пахнет,иначе введите 1»)
    new_input[2] = input()
    print(«Введите 0,если на хлебе нет хрустящей корочки,иначе введите 1»)
    new_input[3] = input()
    #заполнение данных закончилось
    output = sigmoid(np.dot(new_input,synaptic_weights))#высчитываем предполагаемое значение
    print(«Вывод нейросети:»,output)#выводим результат
    if output > 0.9:#обрабатываем результат
        print(«Хлеб свежий»)
    else:
        print(«Хлеб не свежий»)
Размещено в Без категории
Просмотров 170 Комментарии 1
Всего комментариев 1
Комментарии
  1. Старый комментарий
    Всем спасибо, я разобралась с саблаймом и его символами.
    Запись от jujune_pies размещена 18.05.2020 в 02:15 jujune_pies вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.