Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCustomModelLearn.py
More file actions
Latest commit
34 lines (30 loc) · 1.14 KB
/
Copy pathCustomModelLearn.py
File metadata and controls
34 lines (30 loc) · 1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
importnumpyasnp
importtensorflowastf
# Declare list of features, we only have one real-valued feature
defmodel(features, labels, mode):
# Build a linear model and predict values
W=tf.get_variable("W", [1], dtype=tf.float64)
b=tf.get_variable("b", [1], dtype=tf.float64)
y=W*features['x'] +b
# Loss sub-graph
loss=tf.reduce_sum(tf.square(y-labels))
# Training sub-graph
global_step=tf.train.get_global_step()
optimizer=tf.train.GradientDescentOptimizer(0.01)
train=tf.group(optimizer.minimize(loss),
tf.assign_add(global_step, 1))
# ModelFnOps connects subgraphs we built to the
# appropriate functionality.
returntf.contrib.learn.ModelFnOps(
mode=mode, predictions=y,
loss=loss,
train_op=train)
estimator=tf.contrib.learn.Estimator(model_fn=model)
# define our data set
x=np.array([1., 2., 3., 4.])
y=np.array([0., -1., -2., -3.])
input_fn=tf.contrib.learn.io.numpy_input_fn({"x": x}, y, 4, num_epochs=1000)
# train
estimator.fit(input_fn=input_fn, steps=1000)
# evaluate our model
print(estimator.evaluate(input_fn=input_fn, steps=10))