Advertisement
Guest User

Untitled

a guest
Feb 20th, 2019
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.60 KB | None | 0 0
  1. from __future__ import division, print_function, absolute_import
  2.  
  3. import numpy as np # linear algebra
  4. import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
  5. import tensorflow as tf
  6. import keras
  7. from keras.models import *
  8. import tflearn
  9. from tflearn.data_utils import to_categorical
  10. import tflearn.data_utils as du
  11. from tflearn.layers.core import input_data, dropout, fully_connected
  12. from tflearn.layers.conv import conv_2d, max_pool_2d
  13. from tflearn.layers.normalization import local_response_normalization
  14. from tflearn.layers.estimator import regression
  15.  
  16. train_images = pd.read_csv("../data/csvTrainImages 13440x1024.csv",header=None)
  17. train_labels = pd.read_csv("../data/csvTrainLabel 13440x1.csv",header=None)
  18.  
  19. test_images = pd.read_csv("../data/csvTestImages 3360x1024.csv",header=None)
  20. test_labels = pd.read_csv("../data/csvTestLabel 3360x1.csv",header=None)
  21.  
  22. train_images = train_images.values.astype('float32')
  23. train_labels = train_labels.values.astype('int32')-1
  24. test_images = test_images.values.astype('float32')
  25. test_labels = test_labels.values.astype('int32')-1
  26.  
  27. train_labels = keras.utils.to_categorical(train_labels, 28)
  28. test_labels = keras.utils.to_categorical(test_labels, 28)
  29.  
  30. train_images = train_images.reshape([-1, 32, 32, 1])
  31. test_images = test_images.reshape([-1, 32, 32, 1])
  32.  
  33. train_images, mean1 = du.featurewise_zero_center(train_images)
  34. test_images, mean2 = du.featurewise_zero_center(test_images)
  35.  
  36. network = input_data(shape=[None, 32, 32, 1], name='input')
  37. network = conv_2d(network, 80, 3, activation='relu', regularizer="L2")
  38. network = max_pool_2d(network, 2)
  39. network = local_response_normalization(network)
  40. network = conv_2d(network, 64, 3, activation='relu', regularizer="L2")
  41. network = max_pool_2d(network, 2)
  42. network = local_response_normalization(network)
  43. network = fully_connected(network, 1024, activation='relu')
  44. network = dropout(network, 0.8)
  45. network = fully_connected(network, 512, activation='relu')
  46. network = dropout(network, 0.8)
  47. network = fully_connected(network, 28, activation='softmax')
  48. network = regression(network, optimizer='sgd', learning_rate=0.01,
  49. loss='categorical_crossentropy', name='target')
  50.  
  51. model = tflearn.DNN(network, tensorboard_verbose=0)
  52.  
  53.  
  54. model.fit({'input': train_images}, {'target': train_labels}, n_epoch=30,
  55. validation_set=({'input': test_images}, {'target': test_labels}),
  56. snapshot_step=1000, show_metric=True, run_id='convnet_arabic_digits')
  57.  
  58. score = model.evaluate(test_images, test_labels)
  59. print('Test accuarcy: %0.2f%%' % (score[0] * 100))
  60.  
  61. model.save('arabic.tflearn')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement