[PYTHON] Questions examinées lors de la session d'étude de février

J'ai fait du machine learning (Scikit-learn, Tensor Flow) chez Mooc (Udacity, Coursera).

Mooc

M. Andrew Ng est célèbre, mais il est agréable de gérer Deep Learning --Udacity fourni par Google comme Scikit-learn ou TensorFlow.

Neural Networks for Machine Learning

Deep Learning - Udacity

Deep Learning - Udacity

Setup

Scikit-learn

Scikit-learn

Python: extraction d'éléments communs

v = [1,2,3]
w = [2,3,4]
[x for x in v if x in w] # [2,3]

TensorFlow

Il s'agissait d'effectuer la même tâche dans Tensorflow.

UNADJUSTEDNONRAW_thumb_1c0e.jpg

J'étais satisfait parce que j'ai fabriqué un NN à 3 couches comme celui-ci et obtenu une précision de 94,2%. Quand j'extrait une partie du code, cela ressemble à ceci.

def weight_variable(shape):
  initial = tf.truncated_normal(shape, stddev=1.732/sum(shape))
  return tf.Variable(initial)

def bias_variable(shape):
  initial = tf.constant(0.1, shape=shape)
  return tf.Variable(initial)
  
batch_size = 128
hidden_layer_size = 1024
input_layer_size = 28*28
output_layer_size = 10

graph = tf.Graph()
with graph.as_default():
    # Input data. For the training data, we use a placeholder that will be fed
    # at run time with a training minibatch.
    tf_train_dataset = tf.placeholder(tf.float32, shape=(batch_size, image_size * image_size))
    tf_train_labels = tf.placeholder(tf.float32, shape=(batch_size, num_labels))
    tf_valid_dataset = tf.constant(valid_dataset)
    tf_test_dataset = tf.constant(test_dataset)
    
    # Variables
    weight1 = weight_variable( (input_layer_size, hidden_layer_size) )
    bias1 = bias_variable( [hidden_layer_size] )
    
    # Hidden Layer
    hidden_layer = tf.nn.relu(tf.matmul(tf_train_dataset, weight1) + bias1)
    
    # Variables
    weight2 = weight_variable( (hidden_layer_size, output_layer_size) )
    bias2 = bias_variable( [output_layer_size] )
    
    logits = tf.matmul(hidden_layer, weight2) + bias2
    loss = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=tf_train_labels))
    
    # optimizer
    optimizer = tf.train.AdamOptimizer(0.001).minimize(loss)
    # optimizer = tf.train.GradientDescentOptimizer(0.5).minimize(loss)
    
    # prediction
    train_prediction = tf.nn.softmax(logits)
    valid_prediction = tf.nn.softmax(tf.matmul(tf.nn.relu(tf.matmul(tf_valid_dataset, weight1) + bias1), weight2) + bias2)
    test_prediction = tf.nn.softmax(tf.matmul(tf.nn.relu(tf.matmul(tf_test_dataset, weight1) + bias1), weight2) + bias2)
    

Recommended Posts

Questions examinées lors de la session d'étude de février
Questions examinées lors de la session d'étude de mai
Questions examinées lors de la session d'étude d'août 2017
Un exemple de réponse à la question de référence de la session d'étude. Avec python.
Entrez le mot de passe sudo au démarrage dans Fabric
Boucle les variables en même temps dans le modèle
Étudier à Zundoko
J'ai essayé d'étudier côté serveur WEB lors d'une session d'étude Python en interne
Lisez "Programmation Linux ordinaire" lors d'une session d'étude en interne