83 lines
1.6 KiB
Python
83 lines
1.6 KiB
Python
# %% [markdown]
|
|
# # Neuron with 3 inputs
|
|
|
|
# %%
|
|
inputs = [1, 2, 3]
|
|
weights = [0.2, 0.8, -0.5]
|
|
bias = 2
|
|
|
|
output = (inputs[0]*weights[0] + inputs[1]*weights[1] + inputs[2]*weights[2] + bias)
|
|
|
|
print(f"Output: {output}")
|
|
|
|
# %% [markdown]
|
|
# # Neuron with 4 inputs
|
|
|
|
# %%
|
|
inputs = [1.0, 2.0, 3.0, 2.5]
|
|
weights = [0.2, 0.8, -0.5, 1.0]
|
|
bias = 2
|
|
|
|
output = (inputs[0]*weights[0] + inputs[1]*weights[1] + inputs[2]*weights[2] + inputs[3]*weights[3] + bias)
|
|
|
|
print(output)
|
|
|
|
# %% [markdown]
|
|
# # Layer of 3 neurons with 4 inputs
|
|
|
|
# %%
|
|
num_neurons = 3
|
|
num_inputs = 4
|
|
inputs = [1.0, 2.0, 3.0, 2.5]
|
|
weights = [[0.2, 0.8, -0.5, 1.0],
|
|
[0.5, -0.91, 0.26, -0.5],
|
|
[-0.26, -0.27, 0.17, 0.87]]
|
|
biases = [2, 3, 0.5]
|
|
|
|
outputs = []
|
|
for i in range(num_neurons):
|
|
output = 0
|
|
for j in range(num_inputs):
|
|
output += inputs[j]*weights[i][j]
|
|
output += biases[i]
|
|
outputs.append(output)
|
|
|
|
print(outputs)
|
|
|
|
# %% [markdown]
|
|
# # Layer of 3 neurons with 4 inputs
|
|
|
|
# %%
|
|
num_neurons = 3
|
|
num_inputs = 4
|
|
inputs = [1.0, 2.0, 3.0, 2.5]
|
|
weights = [[0.2, 0.8, -0.5, 1.0],
|
|
[0.5, -0.91, 0.26, -0.5],
|
|
[-0.26, -0.27, 0.17, 0.87]]
|
|
biases = [2, 3, 0.5]
|
|
|
|
outputs = []
|
|
for neuron_weights, neuron_bias in zip(weights, biases):
|
|
neuron_output = 0
|
|
for input, weight in zip(inputs, neuron_weights):
|
|
neuron_output += input*weight
|
|
neuron_output += neuron_bias
|
|
outputs.append(neuron_output)
|
|
|
|
print(outputs)
|
|
|
|
# %% [markdown]
|
|
# # Single Neuron using Numpy
|
|
|
|
# %%
|
|
import numpy as np
|
|
|
|
inputs = [1.0, 2.0, 3.0, 2.5]
|
|
weights = [0.2, 0.8, -0.5, 1.0]
|
|
bias = 2
|
|
|
|
output = np.dot(inputs, weights) + bias
|
|
print(output)
|
|
|
|
|