Paradox- 小型深度学习框架
Python 机器学习/深度学习
访问GitHub主页
共0Star
详细介绍
Paradox 是一个用 Python 3 和 numpy 实现一个简单的深度学习框架,了解流行框架的原理。
示例代码:
import numpy as np
import matplotlib.pyplot as plt
import paradox as pd
# 随机生成点的个数。
points_sum = 200
x_data = []
y_data = []
# 生成y = 2 * x + 1直线附近的随机点。
for _ in range(points_sum):
x = np.random.normal(0, 2)
y = x * 2 + 1 + np.random.normal(0, 2)
x_data.append(x)
y_data.append(y)
x_np = np.array(x_data)
y_np = np.array(y_data)
# 定义符号。
X = pd.Constant(x_np, name='x')
Y = pd.Constant(y_np, name='y')
w = pd.Variable(0, name='w')
b = pd.Variable(1, name='b')
# 使用最小二乘误差。
loss = pd.reduce_mean((w * X + b - Y) ** 2)
# 创建loss计算引擎,申明变量为w和b。
loss_engine = pd.Engine(loss, [w, b])
# 梯度下降optimizer。
optimizer = pd.GradientDescentOptimizer(0.00005)
# 迭代100次最小化loss。
for epoch in range(100):
optimizer.minimize(loss_engine)
loss_value = loss_engine.value()
print('loss = {:.8f}'.format(loss_value))
# 获取w和b的训练值。
w_value = pd.Engine(w).value()
b_value = pd.Engine(b).value()
# 绘制图像。
plt.title('Paradox implement Linear Regression')
plt.plot(x_data, y_data, 'ro', label='Data')
plt.plot(x_data, w_value * x_data + b_value, label='Regression')
plt.legend()
plt.show()
运行结果:
推荐源码
暂无源码 更多源码...