""" import your model here """ import your_model as tf """ your model should support the following code """ # create model x = tf.placeholder(tf.float32, [None, 784]) W = tf.Variable(tf.zeros([784, 10])) b = tf.Variable(tf.zeros([10])) y = tf.nn.softmax(tf.matmul(x, W) + b) # 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])) W_grad = tf.gradients(cross_entropy, [W])[0] train_step = tf.assign(W, W - 0.5 * W_grad) sess = tf.Session() sess.run(tf.global_variables_initializer()) # get the mnist dataset (use tensorflow here) from tensorflow.examples.tutorials.mnist import input_data mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # train for _ in range(1000): batch_xs, batch_ys = mnist.train.next_batch(100) sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
""" import your model here """ import your_model as tf import numpy as np sess = tf.Session() # adder a = tf.placeholder(tf.float32) b = tf.placeholder(tf.float32) adder_node = a + b ans = sess.run(adder_node, {a: 3, b: 4.5}) assert np.equal(ans, 7.5) ans = sess.run(adder_node, {a: [1, 3], b: [2, 3]}) assert np.array_equal(ans, [3, 6])
return tf.Variable(initial) def conv2d(x, W): return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME') def max_pool_2x2(x): return tf.nn.max_pool(x, ksize=[1, 2, 2, 1], strides=[1, 2, 2, 1], padding='SAME') # input x = tf.placeholder(tf.float32, shape=[None, 784]) y_ = tf.placeholder(tf.float32, shape=[None, 10]) # first layer W_conv1 = weight_variable([5, 5, 1, 32]) b_conv1 = bias_variable([32]) x_image = tf.reshape(x, [-1, 28, 28, 1]) h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1) h_pool1 = max_pool_2x2(h_conv1) # second layer W_conv2 = weight_variable([5, 5, 32, 64]) b_conv2 = bias_variable([64]) h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2)
""" import your model here """ import your_model as tf """ your model should support the following code """ import numpy as np sess = tf.Session() # linear model W = tf.Variable([.5], dtype=tf.float32) b = tf.Variable([1.5], dtype=tf.float32) x = tf.placeholder(tf.float32) linear_model = W * x + b # define error y = tf.placeholder(tf.float32) error = tf.reduce_sum(linear_model - y) # run init init = tf.global_variables_initializer() sess.run(init) # calc error feed = {x: [1, 2, 3, 4], y: [0, -1, -2, -3]} # assign fixW = tf.assign(W, [-1.0]) fixb = tf.assign(b, [1.]) sess.run([fixW, fixb]) ans = sess.run(error, feed)
mnist = input_data.read_data_sets("MNIST_data/", one_hot=True) # Parameters learning_rate = 0.01 training_epochs = 10 batch_size = 100 display_step = 1 # Network Parameters n_hidden_1 = 128 # 1st layer number of features n_hidden_2 = 64 # 2nd layer number of features n_input = 784 # MNIST data input (img shape: 28*28) n_classes = 10 # MNIST total classes (0-9 digits) # tf Graph input x = tf.placeholder(tf.float32, [None, n_input]) y = tf.placeholder(tf.float32, [None, n_classes]) # Create model def multilayer_perceptron(x, weights, biases): # Hidden layer with RELU activation layer_1 = tf.matmul(x, weights['h1']) + biases['b1'] layer_1 = tf.nn.relu(layer_1) # Hidden layer with RELU activation layer_2 = tf.matmul(layer_1, weights['h2']) + biases['b2'] layer_2 = tf.nn.relu(layer_2) # Output layer with linear activation out_layer = tf.matmul(layer_2, weights['out']) + biases['out'] return out_layer