mirror of
https://github.com/StepanovPlaton/NeuralNetwork.git
synced 2026-04-03 12:20:39 +04:00
Fixes
This commit is contained in:
@@ -13,9 +13,10 @@
|
|||||||
|
|
||||||
- Движок для создания нейронных сетей
|
- Движок для создания нейронных сетей
|
||||||
- Поддержка вычислений [на CPU](./src/tensor/cpu/) или [на GPU с использованием OpenCL](./src/tensor/opencl/)
|
- Поддержка вычислений [на CPU](./src/tensor/cpu/) или [на GPU с использованием OpenCL](./src/tensor/opencl/)
|
||||||
- [Алгоритмы массового параллелизма на GPU](./src/tensor/opencl/kernels) для быстрых вычислений
|
- [Алгоритмы массового параллелизма на GPU](./src/tensor/opencl/kernels.hpp) для быстрых вычислений
|
||||||
- Классические алгоритмы на CPU для возможности проверки
|
- Классические алгоритмы на CPU для возможности проверки
|
||||||
- [Класс Tensor](./src/tensor/tensor.hpp) для работы с тензорами произвольной размерности
|
- [Класс Tensor](./src/tensor/tensor.hpp) для работы с тензорами произвольной размерности
|
||||||
|
- [Пример обучения нейронной сети вычисления XOR на Python](./src/run.py)
|
||||||
|
|
||||||
## Forward & Back propogation - это путешествие в Мордор и обратно!
|
## Forward & Back propogation - это путешествие в Мордор и обратно!
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import tensor.tensor as T
|
import tensor as T
|
||||||
|
|
||||||
if (T.MODE == T.PLATFORM.OPENCL):
|
if (T.MODE == T.PLATFORM.OPENCL):
|
||||||
T.init()
|
T.init()
|
||||||
@@ -45,7 +45,7 @@ class NN:
|
|||||||
|
|
||||||
lossVector = self.layers[len(self.layers) -
|
lossVector = self.layers[len(self.layers) -
|
||||||
1].outputs - target
|
1].outputs - target
|
||||||
# print("loss", lossVector(T.FUNCTION.MSE))
|
print("loss", lossVector(T.FUNCTION.MSE))
|
||||||
dAnl = lossVector(T.FUNCTION.MSE, True)
|
dAnl = lossVector(T.FUNCTION.MSE, True)
|
||||||
for i in range(len(self.layers)-1, -1, -1):
|
for i in range(len(self.layers)-1, -1, -1):
|
||||||
dZl = dAnl * \
|
dZl = dAnl * \
|
||||||
@@ -55,7 +55,7 @@ class NN:
|
|||||||
dbl = dZl
|
dbl = dZl
|
||||||
# dbl = dZl.sum(axis=1).reshape(dZl.shape[0], 1)
|
# dbl = dZl.sum(axis=1).reshape(dZl.shape[0], 1)
|
||||||
dAnl = self.layers[i].weights.t() @ dZl
|
dAnl = self.layers[i].weights.t() @ dZl
|
||||||
self.layers[i].weights.t()
|
print(self.layers[i].weights)
|
||||||
self.layers[i].weights += (dWl * -0.3)
|
self.layers[i].weights += (dWl * -0.3)
|
||||||
self.layers[i].bias += (dbl * -0.3)
|
self.layers[i].bias += (dbl * -0.3)
|
||||||
|
|
||||||
Reference in New Issue
Block a user