Основные методы класса NuralNetPro - aeDeaf/physlearn GitHub Wiki
Класс NeuralNetPro
Данный класс позволяет создавать граф TF нейронной сети (далее - НС), позволяет запускать ее на произвольных данных, осуществляет "разворачивание" матриц весов в один вектор и последующее сворачивание обратно.
Если формат возвращаемого значения не описан, то значит, что метод ничего не возвращает.
Конструктор:
NeuralNetPro(min_element, max_element)
min_element и max_element - числа, минимальное и максимальное число, которое передается в numpy.random.uniform при случайной инициализации матриц (соответственно, это минимальный и максимальный вес в случайно созданной НС)
Описание архитектуры сети:
add_input_layer(amount_of_units)
Добавляет входной слой. Amount_of_units - число, количество нейронов во входном слое. Использовать обязательно.
add(amount_of_units, activation_func)
Добавляет скрытый слой. Amount_of_units - аналогично входному слою, activation_func - функция.
add_output_layer(amount_of_units, activation_func)
Здесь все аналогично. Использовать обязательно.
compile()
Создает TF граф НС, проводит еще парочку дополнительных манипуляций. Использовать обязательно. Работать без него точно ничего не будет (внезапно, ага).
Основные методы:
return_unroll_dim()
Возвращает длину (размерность) вектора - число, который получится, если развернуть все матрицы весов в одну длинную херовину.
roll_matrixes(unroll_vector)
unroll_vector - вектор numpy длины (размерности), совпадающая с той, что возвращает return_unroll_dim
return_graph()
Возвращает TF граф, отвечающий выходам НС.
return_session()
Возвращает TF session. С помощью полученной сессии можно запускать НС на произвольных данных с помощью sess.run(...), однако из-за того, что все матрицы весов это placeholder, то делать так не рекомендую.
run(inputs)
inputs - матрица Numpy - входные данные. Для вычисления значения НС рекомендую использовать именно этот метод, так как всю работу с placeholder он берет на себя. Возвращает матрицу Numpy, отвечающую выходам НС.
Вспомогательные методы:
set_random_matrixes()
Устанавливает случайные матрицы весов.