python
import tensorflow as tf
import numpy as np
python
learning_rate = 0.001
batch_size = 128
num_iterations = 10000
python
train_data = np.loadtxt('train_data.txt')
train_labels = np.loadtxt('train_labels.txt')
python
def neural_network(x):
hidden_layer = tf.layers.dense(x, 256, activation=tf.nn.relu)
output_layer = tf.layers.dense(hidden_layer, 1, activation=tf.nn.sigmoid)
return output_layer
python
x = tf.placeholder(tf.float32, [None, 2])
y = tf.placeholder(tf.float32, [None, 1])
model_output = neural_network(x)
loss = tf.reduce_mean(tf.nn.sigmoid_cross_entropy_with_logits(logits=model_output, labels=y))
optimizer = tf.train.AdamOptimizer(learning_rate).minimize(loss)
python
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for iteration in range(num_iterations):
idx = np.random.randint(len(train_data), size=batch_size)
batch_x = train_data[idx]
batch_y = train_labels[idx]
_, current_loss = sess.run([optimizer, loss], feed_dict={x: batch_x, y: batch_y})
if iteration % 1000 == 0:
print("Iteration {}: Loss = {}".format(iteration, current_loss))