示例#1
0
def test_mean_grad():
    x = tf.placeholder(tf.float32)
    ax = np.ones((2, 3))
    z = -tf.reduce_mean(x) * 14
    gx = tf.gradients(z, [x])[0]
    sess = tf.Session()
    agx = sess.run(gx, feed_dict={x: ax})
    np.testing.assert_almost_equal(agx, -np.ones((2, 3)) * 14 / 6.0)
示例#2
0
def test_mean_grad():
    x = tf.placeholder(tf.float32)
    ax = np.ones((2, 3))
    z = -tf.reduce_mean(x) * 14
    gx = tf.gradients(z, [x])[0]
    sess = tf.Session()
    agx = sess.run(gx, feed_dict={x:ax})
    np.testing.assert_almost_equal(agx, -np.ones((2,3)) * 14 / 6.0)
示例#3
0
def test_mean():
    axis = [1, 3]
    x = tf.placeholder(tf.float32)
    y = tf.reduce_mean(x, reduction_indices=axis)
    ax = np.random.uniform(size=(2, 4, 8, 7))
    sess = tf.Session()
    ay = sess.run(y, feed_dict={x:ax})
    npy = ax.mean(axis=tuple(axis))
    assert(np.mean(np.abs(ay - npy))) < 1e-6
示例#4
0
def test_mean():
    axis = [1, 3]
    x = tf.placeholder(tf.float32)
    y = tf.reduce_mean(x, reduction_indices=axis)
    ax = np.random.uniform(size=(2, 4, 8, 7))
    sess = tf.Session()
    ay = sess.run(y, feed_dict={x:ax})
    npy = ax.mean(axis=tuple(axis))
    assert(np.mean(np.abs(ay - npy))) < 1e-6
"""Tinyflow example code.

Minimum softmax code that exposes the optimizer.
"""
import tinyflow as tf
from tinyflow.datasets import get_mnist

# Create the model
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
y = tf.nn.softmax(tf.matmul(x, W))

# Define loss and optimizer
y_ = tf.placeholder(tf.float32, [None, 10])

cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))

learning_rate = 0.5
W_grad = tf.gradients(cross_entropy, [W])[0]
train_step = tf.assign(W, W - learning_rate * W_grad)

sess = tf.Session()
sess.run(tf.initialize_all_variables())

# get the mnist dataset
mnist = get_mnist(flatten=True, onehot=True)

for i in range(1000):
    batch_xs, batch_ys = mnist.train.next_batch(100)
    sess.run(train_step, feed_dict={x: batch_xs, y_:batch_ys})
示例#6
0
                                               feed_dict=known_shape):
    init_step.append(tf.assign(v, tf.normal(shape, stdev)))
    print("shape[%s]=%s" % (name, str(shape)))
sess.run(init_step)

# get the mnist dataset
mnist = get_mnist(flatten=False, onehot=False)

print_period = 1000
for epoch in range(10):
    sum_loss = 0.0
    num_batch = 600
    for i in range(num_batch):
        batch_xs, batch_ys = mnist.train.next_batch(100)
        loss, _ = sess.run([cross_entropy, train_step],
                           feed_dict={
                               x: batch_xs,
                               label: batch_ys
                           })
        sum_loss += loss
    print("epoch[%d] cross_entropy=%g" % (epoch, sum_loss / num_batch))

correct_prediction = tf.equal(tf.argmax(fc2, 1), label)
accuracy = tf.reduce_mean(correct_prediction)
print(
    sess.run(accuracy,
             feed_dict={
                 x: mnist.test.images,
                 label: mnist.test.labels
             }))
cross_entropy = tf.nn.mean_sparse_softmax_cross_entropy_with_logits(fc2, label)
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

sess = tf.Session(device='gpu')

# Automatic variable shape inference API, infers the shape and initialize the weights.
known_shape = {x: [100, 28 * 28], label: [100]}
init_step = []
for v, name, shape in tf.infer_variable_shapes(
        cross_entropy, feed_dict=known_shape):
    init_step.append(tf.assign(v, tf.normal(shape)))
    print("shape[%s]=%s" % (name, str(shape)))
sess.run(init_step)

# get the mnist dataset
mnist = get_mnist(flatten=True, onehot=False)

print_period = 1000
for epoch in range(10):
    sum_loss = 0.0
    num_batch = 600
    for i in range(num_batch):
        batch_xs, batch_ys = mnist.train.next_batch(100)
        loss, _ = sess.run([cross_entropy, train_step], feed_dict={x: batch_xs, label:batch_ys})
        sum_loss += loss
    print("epoch[%d] cross_entropy=%g" % (epoch, sum_loss /num_batch))

correct_prediction = tf.equal(tf.argmax(fc2, 1), label)
accuracy = tf.reduce_mean(correct_prediction)
print(sess.run(accuracy, feed_dict={x: mnist.test.images, label: mnist.test.labels}))
示例#8
0
"""Tinyflow example code.

This code is adapted from Tensorflow's MNIST Tutorial with minimum code changes.
"""
import tinyflow as tf
from tinyflow.datasets import get_mnist

# Create the model
x = tf.placeholder(tf.float32, [None, 784])
W = tf.Variable(tf.zeros([784, 10]))
y = tf.nn.softmax(tf.matmul(x, W))

# Define loss and optimizer
y_ = tf.placeholder(tf.float32, [None, 10])

cross_entropy = tf.reduce_mean(
    -tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)

sess = tf.Session()
sess.run(tf.initialize_all_variables())

# get the mnist dataset
mnist = get_mnist(flatten=True, onehot=True)

print("minist download is completed!")

for i in range(1000):
    batch_xs, batch_ys = mnist.train.next_batch(100)
    sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})

correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))