A simple neural network implementation which utilizes a simimilar API to TensorFlow's Sequential models.
Description
An in-depth paragraph about your project and overview of use.
Getting Started
Dependencies
- NumPy
pip3 install -r requirements.txt
Sample Usage
Below is an example of a neural network with two Dense() layers using Tanh() activation functions learning the XOR function. Although seemingly trivial, the XOR function isn't linearly separable, meaning linear models such as logistic regression and single-layer perceptrons cannot learn XOR.
from nn import Sequential, Input, Dense, Tanh
np.random.seed(42)
# XOR input/output data
X = np.reshape([[0, 0], [0, 1], [1, 0], [1, 1]], (4, 2, 1))
Y = np.reshape([[0], [1], [1], [0]], (4, 1, 1))
# Model instantiation
model = Sequential([
Input(2),
Dense(3),
Tanh(),
Dense(1),
Tanh(),
])
model.compile()
# Model training
model.fit(X, Y, epochs=10000, learning_rate=0.01)
# Predict
Y_pred = nn.predict(X)
for (y_true, y_pred) in zip(Y, Y_pred):
print(f'Actual: {y_true}, Predicted: {y_pred}')
Output:
Actual: [[0]], Predicted: [[0.0003956]]
Actual: [[1]], Predicted: [[0.97018558]]
Actual: [[1]], Predicted: [[0.97092169]]
Actual: [[0]], Predicted: [[0.00186825]]
API
Sequential
nn.Sequential(
layers=[]
)
| Function | Description |
|---|---|
__init__ |
Instantiates a new Sequential model. If given a list of layers, it will add these to the model, similar to add(). |
add |
Add a single layer to the model. |
compile |
Takes the added layers and the parameters of compile to generate a trainable model. |
fit |
After compilation, fit() trains the model on its inputs and outputs. |
predict |
Makes predictions after fitting to the data. Takes in a subset of the input data to make a prediction. |
Layers
Layer Layer
Abstract class for the layers API. This shouldn't be used in an instance of a model.
Input Layer
This should always be the first layer of the Sequential model. Since the other layers take in an explicit output_size as their input, they infer their input_size from the previous layer's output_size. This means we must declare the model's first input_size.
Dense Layer
Just your regular densely-connected NN layer. At the moment, the dense layer only performs the dot product and bias addition, but no activation function. The activation function is out-sourced to the Activation layers.
Activation Layer
Applies an activation function to an output.
Tanh Layer
Hyperbolic tangent activation function.
Acknowledgements
Metadata
Release files for tensorfaux 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| tensorfaux-0.0.1.tar.gz | 154.6 kB | Without provenance | Details for tensorfaux-0.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tensorfaux-0.0.1-py3-none-any.whl | Python 3 | none | any | Details for tensorfaux-0.0.1-py3-none-any.whl |
Total release size: 161.5 kB
Release files / tensorfaux-0.0.1.tar.gz
| Download URL | tensorfaux-0.0.1.tar.gz |
|---|---|
| Size | 154.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f3c8d01e9caec118636152757df90c7afa426e7104fa78dffd7d412fc839fbf4
|
|
BLAKE2b-256 checksum How to use checksums |
d7d2c250f763aa03eceff17de639c6838cf9a5f254f48becb7d7c7ff085a0926
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.9
|
Release files / tensorfaux-0.0.1-py3-none-any.whl
| Download URL | tensorfaux-0.0.1-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2df937aeca37ecc491a5e6d06b257431fc6d71f8f842eb8c7e462abf1ecddeb2
|
|
BLAKE2b-256 checksum How to use checksums |
3598ffe15bad5aca5e74418b9d4c1f2f92245334e2521504a064b562c389cc70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.9
|
Security for tensorfaux 0.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.