Skip to main content

tridu33 Learn Write ML Frame

Project description

tridu33 Learn Write a Machine learning framework:.

it is a Coursework in kaikeba .

after pip install tridu33ml,then pip listthis is a test about Boston price:

#boston.py
import numpy as np
from sklearn.datasets import load_boston
from sklearn.utils import shuffle, resample
#from miniflow import *

# Load data
data = load_boston()
X_ = data['data']
y_ = data['target']

# Normalize data
X_ = (X_ - np.mean(X_, axis=0)) / np.std(X_, axis=0)

n_features = X_.shape[1]
n_hidden = 10
W1_ = np.random.randn(n_features, n_hidden)
b1_ = np.zeros(n_hidden)
W2_ = np.random.randn(n_hidden, 1)
b2_ = np.zeros(1)


from tridu33ml.nn import core
from tridu33ml.utils import utilities
# Neural network
X, y = core.Placeholder(), core.Placeholder()
W1, b1 = core.Placeholder(), core.Placeholder()
W2, b2 = core.Placeholder(), core.Placeholder()

l1 = core.Linear(X, W1, b1)
s1 = core.Sigmoid(l1)
l2 = core.Linear(s1, W2, b2)
cost = core.MSE(y, l2)

feed_dict = {
    X: X_,
    y: y_,
    W1: W1_,
    b1: b1_,
    W2: W2_,
    b2: b2_
}

epochs = 5000
# Total number of examples
m = X_.shape[0]
batch_size = 16
steps_per_epoch = m // batch_size

graph = utilities.topological_sort_feed_dict(feed_dict)
trainables = [W1, b1, W2, b2]

print("Total number of examples = {}".format(m))



losses = []

for i in range(epochs):
    loss = 0
    for j in range(steps_per_epoch):
        # Step 1
        # Randomly sample a batch of examples
        X_batch, y_batch = resample(X_, y_, n_samples=batch_size)

        # Reset value of X and y Inputs
        X.value = X_batch
        y.value = y_batch

        # Step 2
        _ = None
        utilities.forward_and_backward(graph) # set output node not important.

        # Step 3
        rate = 1e-2

        utilities.optimize(trainables, rate)

        loss += graph[-1].value

    if i % 100 == 0: 
        print("Epoch: {}, Loss: {:.3f}".format(i+1, loss/steps_per_epoch))
        losses.append(loss/steps_per_epoch)

run the test :

python boston.py

then you will see the training result.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tridu33ml-0.0.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tridu33ml-0.0.1-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file tridu33ml-0.0.1.tar.gz.

File metadata

  • Download URL: tridu33ml-0.0.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for tridu33ml-0.0.1.tar.gz
Algorithm Hash digest
SHA256 bccbbf20cebb113c5b5b068846a1b791a9fdb15cb611b8e35c3c8e77810d73d5
MD5 48a2fd0227285d6e8c9db3560475fefb
BLAKE2b-256 e861a6737138bb23053cd3204a8dbaad837d4876a576585a2923bade7e6a2e35

See more details on using hashes here.

File details

Details for the file tridu33ml-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: tridu33ml-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.6.1 requests/2.24.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.8.5

File hashes

Hashes for tridu33ml-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6c4b0befc709be2860e34b0d4b3ded2f4019ffe83bb5a9666b4672db2d997737
MD5 bbc809a66c643a0422c58138be5ab60e
BLAKE2b-256 2eee92249dc078a8f11a7971f337d417c710af9f7c254667b832140f3fc7c54c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page