@@ -128,7 +128,7 @@ |
||
128 | 128 | } |
129 | 129 | |
130 | 130 | /** |
131 | - * @return mixed |
|
131 | + * @return integer |
|
132 | 132 | */ |
133 | 133 | public function count() |
134 | 134 | { |
@@ -142,6 +142,9 @@ |
||
142 | 142 | $this->addLayer(new Layer($nodes, Input::class)); |
143 | 143 | } |
144 | 144 | |
145 | + /** |
|
146 | + * @param ActivationFunction $defaultActivationFunction |
|
147 | + */ |
|
145 | 148 | private function addNeuronLayers(array $layers, ?ActivationFunction $defaultActivationFunction = null): void |
146 | 149 | { |
147 | 150 | foreach ($layers as $layer) { |
@@ -142,23 +142,23 @@ |
||
142 | 142 | throw new InvalidArgumentException('Inconsistent matrix supplied'); |
143 | 143 | } |
144 | 144 | |
145 | - $array1 = $this->toArray(); |
|
146 | - $array2 = $matrix->toArray(); |
|
147 | - $colCount = $matrix->columns; |
|
148 | - |
|
149 | - $product = []; |
|
150 | - foreach($array1 as $row => $rowData){ |
|
151 | - for($col = 0; $col < $colCount; ++$col) { |
|
152 | - $columnData = array_column($array2, $col); |
|
153 | - $sum = 0; |
|
154 | - foreach($rowData as $key => $valueData) { |
|
155 | - $sum += $valueData * $columnData[$key]; |
|
156 | - } |
|
157 | - $product[$row][$col] = $sum; |
|
158 | - } |
|
159 | - } |
|
160 | - |
|
161 | - return new self($product, false); |
|
145 | + $array1 = $this->toArray(); |
|
146 | + $array2 = $matrix->toArray(); |
|
147 | + $colCount = $matrix->columns; |
|
148 | + |
|
149 | + $product = []; |
|
150 | + foreach($array1 as $row => $rowData){ |
|
151 | + for($col = 0; $col < $colCount; ++$col) { |
|
152 | + $columnData = array_column($array2, $col); |
|
153 | + $sum = 0; |
|
154 | + foreach($rowData as $key => $valueData) { |
|
155 | + $sum += $valueData * $columnData[$key]; |
|
156 | + } |
|
157 | + $product[$row][$col] = $sum; |
|
158 | + } |
|
159 | + } |
|
160 | + |
|
161 | + return new self($product, false); |
|
162 | 162 | } |
163 | 163 | |
164 | 164 | public function divideByScalar($value): self |