Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def load_data(data_directory):
- directories = [d for d in os.listdir(data_directory)
- if os.path.isdir(os.path.join(data_directory, d))]
- labels = []
- images = []
- for d in directories:
- label_directory = os.path.join(data_directory, d)
- file_names = [os.path.join(label_directory, f)
- for f in os.listdir(label_directory)
- if f.endswith(".ppm")]
- for f in file_names:
- images.append(skimage.data.imread(f))
- labels.append(int(d))
- return images, labels
- import os
- import skimage
- from skimage import transform
- from skimage.color import rgb2gray
- import numpy as np
- import keras
- from keras import layers
- from keras.layers import Dense
- ROOT_PATH = "C://Users//Jay//AppData//Local//Programs//Python//Python37//Scriptcodes//BelgianSignals"
- train_data_directory = os.path.join(ROOT_PATH, "Training")
- test_data_directory = os.path.join(ROOT_PATH, "Testing")
- images, labels = load_data(train_data_directory)
- # Print the `labels` dimensions
- print(np.array(labels))
- # Print the number of `labels`'s elements
- print(np.array(labels).size)
- # Count the number of labels
- print(len(set(np.array(labels))))
- # Print the `images` dimensions
- print(np.array(images))
- # Print the number of `images`'s elements
- print(np.array(images).size)
- # Print the first instance of `images`
- np.array(images)[0]
- images28 = [transform.resize(image, (28, 28)) for image in images]
- images28 = np.array(images28)
- images28 = rgb2gray(images28)
- # Import `tensorflow`
- import tensorflow as tf
- # Initialize placeholders
- x = tf.placeholder(dtype = tf.float32, shape = [None, 28, 28])
- y = tf.placeholder(dtype = tf.int32, shape = [None])
- # Flatten the input data
- images_flat = tf.keras.layers.flatten(x)
- # Fully connected layer
- logits = tf.contrib.layers.dense(images_flat, 62, tf.nn.relu)
- # Define a loss function
- loss = tf.reduce_mean(tf.nn.sparse_softmax_cross_entropy_with_logits(labels = y,
- logits = logits))
- # Define an optimizer
- train_op = tf.train.AdamOptimizer(learning_rate=0.001).minimize(loss)
- # Convert logits to label indexes
- correct_pred = tf.argmax(logits, 1)
- # Define an accuracy metric
- accuracy = tf.reduce_mean(tf.cast(correct_pred, tf.float32))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement