From 2ecd5f4ab07045cd7a747b98e0a28501b6460451 Mon Sep 17 00:00:00 2001 From: richard lyman Date: Fri, 17 Feb 2017 14:36:57 -0800 Subject: [PATCH 1/6] misc commits --- 15-01-01 459_Mont_Lyman.jpg | Bin 0 -> 1149201 bytes README.md | 2 +- o4_image_to_image.py | 110 +++++++++++ ocr_utils.py | 233 ++++++++++++++++++++-- q2_tensorflow_mnist.py | 306 +---------------------------- q5_tensorflow_residual.py | 364 +++------------------------------- q6_tensorflow_residual3x3.py | 371 ----------------------------------- q8_tika.py | 46 ++++- q9_tensorflow_gpu_test.py | 4 +- run_batch.sc | 20 +- 10 files changed, 420 insertions(+), 1036 deletions(-) create mode 100644 15-01-01 459_Mont_Lyman.jpg create mode 100644 o4_image_to_image.py delete mode 100644 q6_tensorflow_residual3x3.py diff --git a/15-01-01 459_Mont_Lyman.jpg b/15-01-01 459_Mont_Lyman.jpg new file mode 100644 index 0000000000000000000000000000000000000000..860f2d0dee310bbc5319b7f74a4f72ba02999e4c GIT binary patch literal 1149201 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 cpXk&i8nkZCcn!~j}vV^;mVtqqoi)zaa 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≠jft)34VPmp@buI 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≧# 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 %$wZ5V5MH*4$+6MW8%{)enJ)JhJeeYi2S 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

PM|BbW+R=8d)4w0* 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≫0|CSx|HfbI}k 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 i_h{CYa#_L@tixT>-2i346+Vj;aZhcPuLTj@^ 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 z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE z41fVJ00zJS7ytuc01SWuFaQR?02lxRU;qq&0WbgtzyKHk17H9QfB`T72EYIq00UqE g41fVJ00zJS7ytuc01SWuFaQR?!2fLnT)%q%7qrMVHvj+t literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 7c714a1..b92b17c 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ be used with E13B. run_batch.sc is a bash script that runs all of the programs in the directory -The script file will create many files in the folder, ./plots. +The script file will create many files in the folder, /tmp/plots. Python 3.4 diff --git a/o4_image_to_image.py b/o4_image_to_image.py new file mode 100644 index 0000000..e438f7d --- /dev/null +++ b/o4_image_to_image.py @@ -0,0 +1,110 @@ +"""# ========================================================================== + +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +This sample program is a modified version of the Google mnist convolutional +network tutorial example. See the mnist tutorial in www.tensorflow.org + +This graph has multiple sections 3 layers each, 400 100 400 followed +by a fully connected layer. + +see tensor_flow_graph.png +"""# ============================================================================== +import ocr_utils +import datetime +from collections import namedtuple +import numpy as np +import pandas as pd +import n1_image_to_image as nnetwork +#import n1_residual3x4 as nnetwork +import tensorflow as tf +dtype = np.float32 +#with tf.device('/GPU:0'): +#with tf.device('/cpu:0'): + + +if True: + # single font train + + # examples + # select only images from 'OCRB' scanned font + # input_filters_dict = {'font': ('OCRA',)} + + # select only images from 'HANDPRINT' font + #input_filters_dict = {'font': ('HANDPRINT',)} + + # select only images from 'OCRA' and 'OCRB' fonts with the 'scanned" fontVariant + # input_filters_dict = {'font': ('OCRA','OCRB'), 'fontVariant':('scanned',)} + + # select everything; all fonts , font variants, etc. + # input_filters_dict = {} + + # select the digits 0 through 9 in the E13B font + # input_filters_dict = {'m_label': range(48,58), 'font': 'E13B'} + + # select the digits 0 and 2in the E13B font + # input_filters_dict = {'m_label': (48,50), 'font': 'E13B'} + + # output the character label, image, italic flag, aspect_ratio and upper_case flag + # output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case'] + + # output only the character label and the image + # output_feature_list = ['m_label_one_hot','image'] + + # identify the font given the input images + #output_feature_list = ['font_one_hot','image','italic','aspect_ratio','upper_case'] + + # train the digits 0-9 for all fonts + input_filters_dict = {'m_label': range(48,58),'italic':0,'strength':.4} + #input_filters_dict = {'font':'BANKGOTHIC','m_label': list(range(48,58)),'italic':0,'strength':.7} + #input_filters_dict = {} + output_feature_list = ['low_pass_image','image'] + + """# ============================================================================== + + Train and Evaluate the Model + + """# ============================================================================== + ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = .2, + engine_type='tensorflow',dtype=dtype) + nn = nnetwork.network(ds.train) + nn.fit( ds.train, nEpochs=5000) + nn.test2(ds.test) + +# train_a_font(input_filters_dict, output_feature_list, nEpochs = 50000) + +else: + # loop through all the fonts and train individually + + # pick up the entire list of fonts and font variants. Train each one. + df1 = ocr_utils.get_list(input_filters_dict={'font': ()}) + + import pprint as pprint + pp = pprint.PrettyPrinter(indent=4) + pp.pprint(df1) + + output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case','font_one_hot'] + + # Change nEpochs to 5000 for better results + for l in df1: + input_filters_dict= {'font': (l[0],)} + train_a_font(input_filters_dict,output_feature_list, nEpochs = 5000) + + +print ('\n########################### No Errors ####################################') + diff --git a/ocr_utils.py b/ocr_utils.py index a3c0238..2791558 100644 --- a/ocr_utils.py +++ b/ocr_utils.py @@ -25,8 +25,11 @@ ###################################################### show_plot = False #set True to show plot on screen, set False to save to file +plot_dir = '/tmp/plots' ##################################################### +extension = '.jpg' + ############################################################################## default_zip_file = "fonts.zip" #small data set #default_zip_file = 'fonts_all.zip' #for the big data set @@ -40,6 +43,9 @@ import matplotlib.pyplot as plt import sys import os +import subprocess +from PIL import Image +import io def report(blocknr, blocksize, size): @@ -165,8 +171,12 @@ def __init__(self, features, output_feature_list, one_hot_map, engine_type,h,w, self._epochs_completed = 0 self._index_in_epoch = 0 self._feature_names = output_feature_list # list of names of features + + for i,nm in enumerate(self._feature_names): + if nm in self._feature_names[i+1:]: + self._feature_names[i+1] = nm + "_"+ str(i) self._num_features = len(features) - self._one_hot_map = one_hot_map # list >0 for each feature that is one_hot + self._one_hot_map = one_hot_map # list 0 for non one-hots, or # of one_hots self._engine_type= engine_type self._dtype = dtype @@ -252,7 +262,7 @@ def next_batch(self, batch_size): A list of npArrays, one for each feature requested """ - + batch_size = min(batch_size, self._num_examples) start = self._index_in_epoch self._index_in_epoch += batch_size if self._index_in_epoch > self._num_examples: @@ -267,7 +277,7 @@ def next_batch(self, batch_size): # Start next epoch start = 0 self._index_in_epoch = batch_size - assert batch_size <= self._num_examples + end = self._index_in_epoch outs = [] for i in range(self._num_features): @@ -313,6 +323,7 @@ def apply_column_filters(df, input_filters_dict ): filtered datafram ''' for key,value in input_filters_dict.items(): + if isinstance(value, str): value = (value,) if hasattr(value, '__iter__')==False: @@ -320,6 +331,10 @@ def apply_column_filters(df, input_filters_dict ): if len(value) > 0: criterion = df[key].map(lambda x: x in value) df = df[criterion] +# try: +# print (df['font'].iloc[0]) +# except: +# print (df) return df def convert_to_unique(t1): @@ -338,7 +353,8 @@ def convert_to_unique(t1): for i,u in enumerate(unique): t2[t1==u]=i return t2 - + + def read_data(fileName=default_zip_file, input_filters_dict={}, output_feature_list=[], @@ -347,6 +363,7 @@ def read_data(fileName=default_zip_file, dtype=np.float32, engine_type='', random_state=None ): + """ Reads data from a given .zip file holding .csv files, filters the data to extract the requested features and @@ -448,10 +465,7 @@ def read_data(fileName=default_zip_file, respective column in the .csv file """ - class DataSets(object): - pass - - data_sets = DataSets() + ''' 1) read in the fonts applying the input filter to extract only the fonts, @@ -465,13 +479,35 @@ class DataSets(object): 5) construct training and test set TruthedCharacters classes and return them ''' - engine_type = engine_type.lower() + df = read_file(fileName, input_filters_dict,random_state=random_state) + + return read_df(df, + input_filters_dict=input_filters_dict, + output_feature_list=output_feature_list, + test_size=test_size, + evaluation_size=evaluation_size, + dtype=dtype, + engine_type=engine_type, + random_state=random_state ) + +def read_df(df, + input_filters_dict={}, + output_feature_list=[], + test_size=0.0, + evaluation_size=0.0, + dtype=np.float32, + engine_type='', + random_state=None ): + + class DataSets(object): + pass + print('\nparameter: input_filters_dict\n\t{}'.format(sorted(input_filters_dict.items()))) print('parameter: output_feature_list\n\t{}'.format(output_feature_list)) - - df = read_file(fileName, input_filters_dict,random_state=random_state) + engine_type = engine_type.lower() + data_sets = DataSets() available_columns = [] for key in df.columns: if key=='r0c0': #omit the image @@ -519,7 +555,38 @@ class DataSets(object): elif colName=='image': t1 = np.array(df.loc[:,'r0c0':],dtype=dtype) #extract the images with is everything to the right of row 0 column 0 t1 = np.multiply(t1, 1.0 / 256.0) - feature_name.append(colName) + feature_name.append(colName) + + elif colName=='low_pass_image': + ''' Create unique images for each of the labels, using a single font + These are the concepts. + Make an np array of the original images with the concept images replacing + the originals. + ''' + + boolDF1 = df['fontVariant'] == 'BANKGOTHIC MD BT' + + criterion = df['fontVariant'].map(lambda x: x in 'BANKGOTHIC MD BT') + x = df[criterion] + dx = pd.DataFrame(df) + labels = np.array(x['m_label']) + + for i,label in enumerate(labels): + to_be_replaced = df['m_label']!=label + dx =dx.where(to_be_replaced, other= x.iloc[i], axis=1) + + + t1 = np.array(dx.loc[:,'r0c0':],dtype=dtype) #extract the images with is everything to the right of row 0 column 0 + t1 = np.reshape(t1, (t1.shape[0],h,w)) + t2 = np.zeros((t1.shape[0],h,int(w/2)),dtype=dtype) + for col in range(w): + t2[:,:,int(col/2)] = np.sum(t1[:,:,col:col+2],axis=2) + t3 = np.zeros((t1.shape[0], int(h/2),int(w/2)),dtype=dtype) + for row in range(h): + t3[:,int(row/2),:] = np.sum(t2[:,row:row+2,:],axis=1) + t1 = np.reshape(t3,(t3.shape[0],int(h*w/4)) ) + t1=(t1/4)/256.0 + feature_name.append(colName) elif colName=='m_label_one_hot': t1 = np.array(df['m_label']) @@ -533,6 +600,12 @@ class DataSets(object): one_hot_map[-1] = len(np.unique(t1)) feature_name.append(colName) + elif colName=='orientation_one_hot': + t1 = np.array(df['orientation']) + t1 = convert_to_unique(t1) + one_hot_map[-1] = len(np.unique(t1)) + feature_name.append(colName) + elif colName=='fontVariant_one_hot': t1 = np.array(df['fontVariant'] ) t1 = convert_to_unique(t1) @@ -721,10 +794,135 @@ def compute_column_sum(npx,h,w): see column sum notes under read_data ''' npx = np.reshape(npx,(npx.shape[0],h,w)) - return np.sum(npx,axis=1) # sum of rows in each column + return np.sum(npx,axis=1) # sum of rows in each column + +import skimage.transform as af + +def shear(X, skew): + ''' given a 2D image, shear and return a 2D image + + parameters: + X is the 2D image of shape (nRows, nColumns) + skew is the amount to shear in the range 0 to 1.0 + ''' + + rows = X.shape[0] + cols = X.shape[1] + ratioY = skew*cols/rows + matrix = np.array( [[1, ratioY, 0] ,[0, 1, 0] ,[0, 0, 1 ]]) + tp=af.ProjectiveTransform(matrix=matrix) + #tp = tf.AffineTransform(scale=(.3,.3), shear=skew) + f = af.warp(X, tp) + return f +# +# class file_names(object): +# ''' store variants of file a file name with .jpg, .png, .box variations +# ''' +# def __init__(selp, base_name, dir_name = ''): +# base = base_name +# jpeg = base_name + '.jpg' +# png = base_name + '.png' +# box = base_name + '.box' + +def file_to_df(base_file, character_size, title = "", white_space = 0, input_filters_dict={}): + ''' + Given a 2D image file with some characters, uses Tesseract to cut out + the characters, , plots the characters and the boxes that Tesseract + found, then places the characters into a pandas dataframe + and also returns the images in 2D format + parameters: + image_file, string is the path name of the file + character size, integer, is the number of pixels of the return images + in pixels, height and width are equal + title, string is the name to be in the character/box plotted file + white_space is the amount of padding to be placed around the characters + ''' + input_image_file_jpg = base_file + extension + print('input_image_file_jpg = {}'.format(input_image_file_jpg )) + subprocess.run(['tesseract', input_image_file_jpg, base_file, 'batch.nochop', 'makebox']) + #subprocess.run(['tesseract', input_image_file_jpg]) + im = Image.open(input_image_file_jpg) + + images =[] + recognized_label = [] + tops=[] + originalH=[] + lefts=[] + originalW=[] + orientation = 0 + + f = open(base_file+'.box','r') + + for line in f: + coords = line.split(' ') + top = im.height-int(coords[4]) + bottom = im.height-int(coords[2]) + left = int(coords[1]) + right = int(coords[3]) + tops.append(top) + originalW.append(right-left) + lefts.append(left) + originalH.append(bottom-top) + + img2 = Image.new('L',(character_size,character_size),color=255) + img = im.crop(box=(left, top, right, bottom)) + img = img.convert('LA') + img2.paste(img, box=(white_space,white_space)) + + imgByteArr = img2.tobytes() + lst = list(imgByteArr) + image = np.array(lst)/255.0 + image = 1.0 - image + images.append(image) + try: + recognized_label.append(ord(coords[0])) + except: + print (coords[0]) + recognized_label.append(ord('_')) + + df = make_df(images, character_size, character_size, originalH, originalW, tops, lefts, orientation, recognized_label ) + df= apply_column_filters(df, input_filters_dict ) + t1 = np.array(df.loc[:,'r0c0':]) #extract the images with is everything to the right of row 0 column 0 + t1 = np.reshape(t1,(t1.shape[0],character_size,character_size )) + montage(t1, title=title) + return df,t1 + +def make_df(images, character_w, character_h, originalH, originalW, tops, lefts, orientation, recognized_label ): + ''' Given an numpy array of images and attributes of each image, place these in a pandas dataframe + ''' + x = np.zeros((len(images), character_w*character_h+8)) + x[:,0] = recognized_label + x[:,1] = orientation + x[:,2] = tops + x[:,3] = lefts + x[:,4] = originalH + x[:,5] = originalW + x[:,6] = character_h + x[:,7] = character_w +# print (' appending images') + x[:,8:] = images +# print (' DONE appending images') + +# images = np.array(images) +# images = np.insert(images, 0, character_w, axis=1) +# images = np.insert(images, 0, character_h, axis=1) +# images = np.insert(images, 0, originalW, axis=1) +# images = np.insert(images, 0, originalH, axis=1) +# images = np.insert(images, 0, lefts, axis=1) +# images = np.insert(images, 0, tops, axis=1) +# images = np.insert(images, 0, orientation, axis=1) +# images = np.insert(images, 0, recognized_label, axis=1) + + columns = ['m_label', 'orientation','m_top','m_left','originalH','originalW', 'h','w'] + for i in range(character_h): + for j in range(character_w): + columns.append('r{}c{}'.format(i,j)) + df = pd.DataFrame(x, columns=columns) -################# Miscellaneous Plot Routines ############################## + return df + +############################################### Miscellaneous Plot Routines ############################################################ num_fig = 0 # used to give each saved plot a unique name def program_name(): @@ -739,7 +937,7 @@ def show_figures(plt, title="untitled"): If show_plot is true, the the plot is shown on the screen. If show_plot is false, the plot will be saved to a file in the - ./plots folder + /plots folder The files are given unique names based on the plot title args @@ -759,7 +957,7 @@ def show_figures(plt, title="untitled"): if show_plot: plt.show() else: - plot_dir = './plots' + try: os.mkdir(plot_dir) except: @@ -773,6 +971,7 @@ def show_figures(plt, title="untitled"): plt.clf() # savefig does not clear the figure like show does plt.cla() num_fig += 1 +# print ('END PLOT') def scatter_plot(X=None, y=None, legend_entries=[],axis_labels=("",""), title="",xlim=None, ylim=None): ''' @@ -892,7 +1091,7 @@ def plot_decision_regions(X=None, y=None, classifier=None, resolution = .005, te show_figures(plt, title) -def montage(X, maxChars = 256, title=''): +def montage(X, maxChars = 2500, title=''): ''' montage displays a square matrix of characters diff --git a/q2_tensorflow_mnist.py b/q2_tensorflow_mnist.py index 20a6b8d..fa9ff46 100644 --- a/q2_tensorflow_mnist.py +++ b/q2_tensorflow_mnist.py @@ -26,307 +26,15 @@ see tensor_flow_graph.png """# ============================================================================== + import ocr_utils import datetime from collections import namedtuple import numpy as np import pandas as pd - +import n1_2cnv1fc as nnetwork import tensorflow as tf -dtype=np.float32 -#with tf.device('/gpu:0'): -#with tf.device('/cpu:0'): -def train_a_font(input_filters_dict,output_feature_list, nEpochs=5000): - - ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, - output_feature_list=output_feature_list, - test_size = .1, - engine_type='tensorflow', - dtype=dtype) - - - """# ============================================================================== - - Start TensorFlow Interactive Session - - """# ============================================================================== - - - sess = tf.InteractiveSession() - - """# ============================================================================== - - Placeholders - - Compute the size of various layers - - Create a tensorflow Placeholder for each feature of data returned from the - dataset - - """# ============================================================================== - - - - lst = [] - extra_features_width = 0 # width of extra features - - for i,nm in enumerate(output_feature_list): - - # features[0], is always the target. For instance it may be m_label_one_hot - # the second features[1] is the 'image' that is passed to the convolution layers - # Any additional features bypass the convolution layers and go directly - # into the fully connected layer. - - # The width of the extra features is calculated in order to allocate - # the correct widths of weights, # and inputs - # names are assigned to make the look pretty on the tensorboard graph. - - if i == 0: - nm = 'y_'+nm - else: - nm = 'x_'+nm - if i>1: - extra_features_width += ds.train.feature_width[i] - lst.append(tf.placeholder(dtype, shape=[None, ds.train.feature_width[i]], name=nm)) - - # ph is a named tuple with key names like 'image', 'm_label', and values that - # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, - # x_upper_case etc. - Place_Holders = namedtuple('Place_Holders', output_feature_list) - ph = Place_Holders(*lst) # unpack placeholders into named Tuple - - nRows = ds.train.num_rows #image height - nCols = ds.train.num_columns #image width - nFc = 1024 # size of fully connected layer - nConv1 = 32 # size of first convolution layer - nConv2 = 64 # size of second convolution layer - nTarget = ds.train.feature_width[0] # the number of one_hot features in the target, 'm_label' - n_h_pool2_outputs = int(nRows/4) * int(nCols/4) * nConv2 # second pooling layer - n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected - - """# ============================================================================== - - Build a Multilayer Convolutional Network - - Weight Initialization - - """# ============================================================================== - - def weight_variable(shape, dtype): - initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) - return tf.Variable(initial) - - def bias_variable(shape, dtype): - initial = tf.constant(0.1, shape=shape, dtype=dtype) - return tf.Variable(initial) - - """# ============================================================================== - - Convolution and Pooling - - keep our code cleaner, let's also abstract those operations into functions. - - """# ============================================================================== - - 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') - - """# ============================================================================== - - First Convolutional Layer - - """# ============================================================================== - with tf.name_scope("w_conv1") as scope: - W_conv1 = weight_variable([5, 5, 1, nConv1],dtype) - b_conv1 = bias_variable([nConv1],dtype) - - with tf.name_scope("reshape_x_image") as scope: - x_image = tf.reshape(ph.image, [-1,nCols,nRows,1]) - - image_summ = tf.image_summary("x_image", x_image) - - """# ============================================================================== - - We then convolve x_image with the weight tensor, add the bias, apply the ReLU function, - and finally max pool. - - """# ============================================================================== - - with tf.name_scope("convolve_1") as scope: - h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1) - - with tf.name_scope("pool_1") as scope: - h_pool1 = max_pool_2x2(h_conv1) - - """# ============================================================================== - - Second Convolutional Layer - - In order to build a deep network, we stack several layers of this type. The second - layer will have 64 features for each 5x5 patch. - - """# ============================================================================== - - with tf.name_scope("convolve_2") as scope: - W_conv2 = weight_variable([5, 5, nConv1, nConv2],dtype) - b_conv2 = bias_variable([64],dtype) - h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2) - - with tf.name_scope("pool_2") as scope: - h_pool2 = max_pool_2x2(h_conv2) - - """# ============================================================================== - - Densely Connected Layer - - Now that the image size has been reduced to 7x7, we add a fully-connected layer - with neurons to allow processing on the entire image. We reshape the tensor - from the pooling layer into a batch of vectors, multiply by a weight matrix, add - a bias, and apply a ReLU. - - """# ============================================================================== - - with tf.name_scope("W_fc1_b") as scope: - W_fc1 = weight_variable([n_h_pool2_outputsx, nFc],dtype) - b_fc1 = bias_variable([nFc],dtype) - - h_pool2_flat = tf.reshape(h_pool2, [-1, n_h_pool2_outputs]) - - # append the features, the 2nd on, that go directly to the fully connected layer - for i in range(2,ds.train.num_features ): - h_pool2_flat = tf.concat(1, [h_pool2_flat, ph[i]]) - h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1) - - """# ============================================================================== - - Dropout - - """# ============================================================================== - keep_prob = tf.placeholder(dtype,name='keep_prob') - - with tf.name_scope("drop") as scope: - h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob) - - """# ============================================================================== - - Readout Layer - - """# ============================================================================== - with tf.name_scope("softmax") as scope: - W_fc2 = weight_variable([nFc, nTarget],dtype) - b_fc2 = bias_variable([nTarget],dtype) - y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) - - """# ============================================================================== - - Train and Evaluate the Model - - """# ============================================================================== - - with tf.name_scope("xent") as scope: - # 1e-8 added to eliminate the crash of training when taking log of 0 - cross_entropy = -tf.reduce_sum(ph[0]*tf.log(y_conv+1e-8)) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) - - with tf.name_scope("train") as scope: - train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) - - with tf.name_scope("test") as scope: - correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(ph[0],1)) - - accuracy = tf.reduce_mean(tf.cast(correct_prediction, dtype)) - accuracy_summary = tf.scalar_summary("accuracy", accuracy) - - merged = tf.merge_all_summaries() - tm = "" - tp = datetime.datetime.now().timetuple() - for i in range(4): - tm += str(tp[i])+'-' - tm += str(tp[4]) - writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, sess.graph) - - # To see the results in Chrome, - # Run the following in terminal to activate server. - # tensorboard --logdir '/tmp/ds_logs/' - # See results on localhost:6006 - - sess.run(tf.initialize_all_variables()) - - perfect_count=10 - for i in range(nEpochs): - - batch = ds.train.next_batch(100) - # assign feature data to each placeholder - # the batch list is returned in the same order as the features requested - feed = {keep_prob: 0.5} - for j in range(ds.train.num_features): - feed[ph[j]] = batch[j] - - if i%100 == 0: - # sh=h_pool2_flat.get_shape() - feed[keep_prob] = 1.0 - result = sess.run([merged, accuracy ], feed_dict=feed) - summary_str = result[0] - #acc = result[1] - writer.add_summary(summary_str, i) - train_accuracy = accuracy.eval(feed) - if train_accuracy != 1: - perfect_count=10; - else: - perfect_count -= 1 - if perfect_count==0: - break; - - print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) - train_step.run(feed_dict=feed) - - def computeSize(s,tens): - sumC = 1 - tShape = tens.get_shape() - nDims = len(tShape) - for i in range(nDims): - sumC *= tShape[i].value - print ('\t{}\t{}'.format(s,sumC),flush=True) - return sumC - - print ('network size:',flush=True) - total = computeSize("W_fc1",W_fc1)+ \ - computeSize ("b_fc1",b_fc1) + \ - computeSize ("W_conv1",W_conv1) + \ - computeSize ("b_conv1",b_conv1) + \ - computeSize ("W_conv2",W_conv2) + \ - computeSize ("b_conv2",b_conv2) + \ - computeSize ("W_fc2",W_fc2) + \ - computeSize ("b_fc2",b_fc2) - print('\ttotal\t{}'.format(total),flush=True) - - feed={keep_prob: 1.0} - # assign feature data to each placeholder - error_images = np.empty((0,nRows,nCols)) - - test_accuracy=0 - m=0 - for n in range(0,ds.test.features[0].shape[0],100 ): - for i in range(ds.train.num_features ): - feed[ph[i]] = ds.test.features[i] [n:n+100] - result = sess.run([accuracy, x_image, W_conv1, correct_prediction], feed_dict=feed) - test_accuracy += result[0] - error_images = np.append(error_images, result[1][:,:,:,0][result[3]==False],axis=0) - m += 1 - try: - print ("test accuracy {} for font: {}".format(test_accuracy/m, input_filters_dict['font']),flush=True) - ocr_utils.montage(error_images,title='TensorFlow {} Error Images'.format(input_filters_dict['font'])) - except: - print ("test accuracy {}".format(test_accuracy/m),flush=True) - ocr_utils.montage(error_images,title='TensorFlow Error Images') - - tf.reset_default_graph() # only necessary when iterating through fonts - sess.close() - +dtype = np.float32 if True: # single font train @@ -362,7 +70,13 @@ def computeSize(s,tens): # train the digits 0-9 for all fonts input_filters_dict = {'m_label': range(48,58)} output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case'] - train_a_font(input_filters_dict, output_feature_list, nEpochs = 5000) + ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = .1, + engine_type='tensorflow',dtype=dtype) + nn = nnetwork.network(ds.train) + nn.fit( ds.train, nEpochs=5000) + nn.test(ds.test) else: # loop through all the fonts and train individually diff --git a/q5_tensorflow_residual.py b/q5_tensorflow_residual.py index 3044b46..c9e0815 100644 --- a/q5_tensorflow_residual.py +++ b/q5_tensorflow_residual.py @@ -33,346 +33,19 @@ from collections import namedtuple import numpy as np import pandas as pd +import n1_2cnv1fc as nnetwork + +# import tensorflow as tf -import tensorflow as tf dtype = np.float32 #with tf.device('/GPU:0'): #with tf.device('/cpu:0'): -def train_a_font(input_filters_dict,output_feature_list, nEpochs=5000): - - ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, - output_feature_list=output_feature_list, - test_size = .1, - engine_type='tensorflow', - dtype=dtype) - - """# ============================================================================== - - Start TensorFlow Interactive Session - - """# ============================================================================== - - sess = tf.InteractiveSession() - - """# ============================================================================== - - Placeholders - - Compute the size of various layers - - Create a tensorflow Placeholder for each feature of data returned from the - dataset - - """# ============================================================================== - - - - lst = [] - extra_features_width = 0 # width of extra features - - for i,nm in enumerate(output_feature_list): - - # features[0], is always the target. For instance it may be m_label_one_hot - # the second features[1] is the 'image' that is passed to the convolution layers - # Any additional features bypass the convolution layers and go directly - # into the fully connected layer. - - # The width of the extra features is calculated in order to allocate - # the correct widths of weights, # and inputs - # names are assigned to make the look pretty on the tensorboard graph. - - if i == 0: - nm = 'y_'+nm - else: - nm = 'x_'+nm - if i>1: - extra_features_width += ds.train.feature_width[i] - lst.append(tf.placeholder(dtype, shape=[None, ds.train.feature_width[i]], name=nm)) - - # ph is a named tuple with key names like 'image', 'm_label', and values that - # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, - # x_upper_case etc. - Place_Holders = namedtuple('Place_Holders', output_feature_list) - ph = Place_Holders(*lst) # unpack placeholders into named Tuple - - nRows = ds.train.num_rows #image height - nCols = ds.train.num_columns #image width - nFc0 = 2048 # size of fully connected layer - nFc1 = 2048 # size of fully connected layer - nFc2 = 2048 # size of fully connected layer - nConv1 = 32 # size of first convolution layer - nConv2 = 64 # size of second convolution layer - nTarget = ds.train.feature_width[0] # the number of one_hot features in the target, 'm_label' - n_h_pool2_outputs = int(nRows/4) * int(nCols/4) * nConv2 # second pooling layer - n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected - - """# ============================================================================== - - Build a Multilayer Convolutional Network - - Weight Initialization - - """# ============================================================================== - - def weight_variable(shape, dtype): - initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) - return tf.Variable(initial) - - def bias_variable(shape, dtype): - initial = tf.constant(0.1, shape=shape, dtype=dtype) - return tf.Variable(initial) - - """# ============================================================================== - - Convolution and Pooling - - keep our code cleaner, let's also abstract those operations into functions. - - """# ============================================================================== - - 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') - - """# ============================================================================== - - First Convolutional Layer - - """# ============================================================================== - with tf.name_scope("w_conv1") as scope: - W_conv1 = weight_variable([5, 5, 1, nConv1],dtype) - b_conv1 = bias_variable([nConv1],dtype) - - with tf.name_scope("reshape_x_image") as scope: - x_image = tf.reshape(ph.image, [-1,nCols,nRows,1]) - - image_summ = tf.image_summary("x_image", x_image) - - """# ============================================================================== - - We then convolve x_image with the weight tensor, add the bias, apply the ReLU function, - and finally max pool. - - """# ============================================================================== - - with tf.name_scope("convolve_1") as scope: - h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1) - - with tf.name_scope("pool_1") as scope: - h_pool1 = max_pool_2x2(h_conv1) - - """# ============================================================================== - - Second Convolutional Layer - - In order to build a deep network, we stack several layers of this type. The second - layer will have 64 features for each 5x5 patch. - - """# ============================================================================== - - with tf.name_scope("convolve_2") as scope: - W_conv2 = weight_variable([5, 5, nConv1, nConv2],dtype) - b_conv2 = bias_variable([64],dtype) - h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2) - - with tf.name_scope("pool_2") as scope: - h_pool2 = max_pool_2x2(h_conv2) - """# ============================================================================== - - Densely Connected Layer 0 - - Now that the image size has been reduced to 7x7, we add a fully-connected layer - with neurons to allow processing on the entire image. We reshape the tensor - from the pooling layer into a batch of vectors, multiply by a weight matrix, add - a bias, and apply a ReLU. - - """# ============================================================================== - - with tf.name_scope("W_fc0_b") as scope: - W_fc0 = weight_variable([n_h_pool2_outputsx, nFc0],dtype) - b_fc0 = bias_variable([nFc0],dtype) - - h_pool2_flat = tf.reshape(h_pool2, [-1, n_h_pool2_outputs]) - - # append the features, the 2nd on, that go directly to the fully connected layer - for i in range(2,ds.train.num_features ): - h_pool2_flat = tf.concat(1, [h_pool2_flat, ph[i]]) - h_fc0 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc0) + b_fc0) - """# ============================================================================== - - Densely Connected Layer 1 - - We add a fully-connected layer - with neurons to allow processing on the entire image. We reshape the tensor - from the pooling layer into a batch of vectors, multiply by a weight matrix, add - a bias, and apply a ReLU. - - """# ============================================================================== - - with tf.name_scope("W_fc1_b") as scope: - W_fc1 = weight_variable([nFc0, nFc1],dtype) - b_fc1 = bias_variable([nFc1],dtype) - - h_fc1 = tf.nn.relu(tf.matmul(h_fc0, W_fc1) + b_fc1) - - """# ============================================================================== - - Densely Connected Layer 2 - - We add a fully-connected layer - with neurons to allow processing on the entire image. We reshape the tensor - from the pooling layer into a batch of vectors, multiply by a weight matrix, add - a bias, and apply a ReLU. - - """# ============================================================================== - - with tf.name_scope("W_fc2_b") as scope: - W_fc2 = weight_variable([nFc1, nFc2],dtype) - b_fc2 = bias_variable([nFc2],dtype) - - h_fc2 = tf.nn.relu(tf.matmul(h_fc1, W_fc2) + b_fc2) - - """# ============================================================================== - Dropout - - """# ============================================================================== - keep_prob = tf.placeholder(dtype,name='keep_prob') - - with tf.name_scope("drop") as scope: - h_fc2_drop = tf.nn.dropout(h_fc2, keep_prob) - - """# ============================================================================== - - Readout Layer - - """# ============================================================================== - with tf.name_scope("softmax") as scope: - W_fc3 = weight_variable([nFc2, nTarget],dtype) - b_fc3 = bias_variable([nTarget],dtype) - y_conv=tf.nn.softmax(tf.matmul(h_fc2_drop, W_fc3) + b_fc3) - - """# ============================================================================== - - Train and Evaluate the Model - - """# ============================================================================== - - with tf.name_scope("xent") as scope: - # 1e-8 added to eliminate the crash of training when taking log of 0 - cross_entropy = -tf.reduce_sum(ph[0]*tf.log(y_conv+1e-8)) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) - - with tf.name_scope("train") as scope: - train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) - - with tf.name_scope("test") as scope: - correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(ph[0],1)) - - accuracy = tf.reduce_mean(tf.cast(correct_prediction,dtype)) - accuracy_summary = tf.scalar_summary("accuracy", accuracy) - - merged = tf.merge_all_summaries() - tm = "" - tp = datetime.datetime.now().timetuple() - for i in range(4): - tm += str(tp[i])+'-' - tm += str(tp[4]) - writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, sess.graph) - - # To see the results in Chrome, - # Run the following in terminal to activate server. - # tensorboard --logdir '/tmp/ds_logs/' - # See results on localhost:6006 - - sess.run(tf.initialize_all_variables()) - - perfect_count=10 - for i in range(nEpochs): - - batch = ds.train.next_batch(100) - # assign feature data to each placeholder - # the batch list is returned in the same order as the features requested - feed = {keep_prob: 0.5} - for j in range(ds.train.num_features): - feed[ph[j]] = batch[j] - - if i%100 == 0: - # sh=h_pool2_flat.get_shape() - feed[keep_prob] = 1.0 - result = sess.run([merged, accuracy ], feed_dict=feed) - summary_str = result[0] - #acc = result[1] - writer.add_summary(summary_str, i) - train_accuracy = accuracy.eval(feed) - if train_accuracy != 1: - perfect_count=10; - else: - perfect_count -= 1 - if perfect_count==0: - break; - - print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) - train_step.run(feed_dict=feed) - - def computeSize(s,tens): - sumC = 1 - tShape = tens.get_shape() - nDims = len(tShape) - for i in range(nDims): - sumC *= tShape[i].value - print ('\t{}\t{}'.format(s,sumC),flush=True) - return sumC - - print ('network size:',flush=True) - total = computeSize("W_fc0",W_fc0)+ \ - computeSize ("b_fc0",b_fc0) + \ - computeSize ("W_conv1",W_conv1) + \ - computeSize ("b_conv1",b_conv1) + \ - computeSize ("W_conv2",W_conv2) + \ - computeSize ("b_conv2",b_conv2) + \ - computeSize ("W_fc0",W_fc0) + \ - computeSize ("b_fc0",b_fc0) + \ - computeSize ("W_fc1",W_fc1) + \ - computeSize ("b_fc1",b_fc1) + \ - computeSize ("W_fc2",W_fc2) + \ - computeSize ("b_fc2",b_fc2) - - - print('\ttotal\t{}'.format(total),flush=True) - - feed={keep_prob: 1.0} - # assign feature data to each placeholder - error_images = np.empty((0,nRows,nCols)) - - test_accuracy=0 - m=0 - for n in range(0,ds.test.features[0].shape[0],100 ): - for i in range(ds.train.num_features ): - feed[ph[i]] = ds.test.features[i] [n:n+100] - result = sess.run([accuracy, x_image, W_conv1, correct_prediction], feed_dict=feed) - test_accuracy += result[0] - error_images = np.append(error_images, result[1][:,:,:,0][result[3]==False],axis=0) - m += 1 - try: - print ("test accuracy {} for font: {}".format(test_accuracy/m, input_filters_dict['font']),flush=True) - ocr_utils.montage(error_images,title='TensorFlow {} Error Images'.format(input_filters_dict['font'])) - except: - print ("test accuracy {}".format(test_accuracy/m),flush=True) - ocr_utils.montage(error_images,title='TensorFlow Error Images') - - tf.reset_default_graph() # only necessary when iterating through fonts - sess.close() - - -if True: +if False: # single font train - # esamples + # examples # select only images from 'OCRB' scanned font # input_filters_dict = {'font': ('OCRA',)} @@ -404,7 +77,13 @@ def computeSize(s,tens): input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))+list(range(97,123)),'fontVariant':'scanned'} #input_filters_dict = {} output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case'] - train_a_font(input_filters_dict, output_feature_list, nEpochs = 20000) + ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = .1, + engine_type='tensorflow',dtype=dtype) + nn = nnetwork.network( ds.train) + nn.fit( ds.train, nEpochs=5000) + nn.test(ds.test) else: # loop through all the fonts and train individually @@ -420,9 +99,22 @@ def computeSize(s,tens): # Change nEpochs to 5000 for better results for l in df1: - input_filters_dict= {'font': (l[0],)} - train_a_font(input_filters_dict,output_feature_list, nEpochs = 500) - + #input_filters_dict= {'font': (l[0],)} + input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))+list(range(97,123)),'font': (l[0],)} + #train_a_font(input_filters_dict,output_feature_list, nEpochs = 500) + + ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = .1, + engine_type='tensorflow',dtype=dtype) + + nn = nnetwork.network(ds.train) + nn.fit( ds.train, nEpochs=5000) + nn.test(ds.test, title = l[0] ) + nn.reset_graph() + + + print ('\n########################### No Errors ####################################') diff --git a/q6_tensorflow_residual3x3.py b/q6_tensorflow_residual3x3.py deleted file mode 100644 index 4a9ea2d..0000000 --- a/q6_tensorflow_residual3x3.py +++ /dev/null @@ -1,371 +0,0 @@ -"""# ========================================================================== - -# Copyright 2015 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# ============================================================================== - -This sample program is a modified version of the Google mnist convolutional -network tutorial example. See the mnist tutorial in www.tensorflow.org - -This graph has multiple sections 3 layers each, 400 100 400 followed -by a fully connected layer. - -see tensor_flow_graph.png -"""# ============================================================================== -import ocr_utils -import datetime -from collections import namedtuple -import numpy as np -import pandas as pd - -import tensorflow as tf -dtype = np.float32 -#with tf.device('/GPU:0'): -#with tf.device('/cpu:0'): - -def train_a_font(input_filters_dict,output_feature_list, nEpochs=5000): - - ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, - output_feature_list=output_feature_list, - test_size = .1, - engine_type='tensorflow',dtype=dtype) - - - """# ============================================================================== - - Start TensorFlow Interactive Session - - """# ============================================================================== - - sess = tf.InteractiveSession() - - """# ============================================================================== - - Placeholders - - Compute the size of various layers - - Create a tensorflow Placeholder for each feature of data returned from the - dataset - - """# ============================================================================== - - - - lst = [] - extra_features_width = 0 # width of extra features - - for i,nm in enumerate(output_feature_list): - - # features[0], is always the target. For instance it may be m_label_one_hot - # the second features[1] is the 'image' that is passed to the convolution layers - # Any additional features bypass the convolution layers and go directly - # into the fully connected layer. - - # The width of the extra features is calculated in order to allocate - # the correct widths of weights, # and inputs - # names are assigned to make the look pretty on the tensorboard graph. - - if i == 0: - nm = 'y_'+nm - else: - nm = 'x_'+nm - if i>1: - extra_features_width += ds.train.feature_width[i] - print (ds.train.features[i].dtype) - lst.append(tf.placeholder(dtype, shape=[None, ds.train.feature_width[i]], name=nm)) - - # ph is a named tuple with key names like 'image', 'm_label', and values that - # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, - # x_upper_case etc. - Place_Holders = namedtuple('Place_Holders', ds.train.feature_names) - ph = Place_Holders(*lst) # unpack placeholders into named Tuple - - nRows = ds.train.num_rows #image height - nCols = ds.train.num_columns #image width - - nSections = 10 - w = list(range(nSections*3)) - b = list(range(nSections*3)) - h = list(range(nSections*3+1)) - - - in_out_width = nRows*nCols - internal_width = int(in_out_width/4) - - -# nFc0 = 2048 # size of fully connected layer - nFc1 = 2048 # size of fully connected layer -# nFc2 = 2048 # size of fully connected layer -# nConv1 = 32 # size of first convolution layer -# nConv2 = 64 # size of second convolution layer - nTarget = ds.train.feature_width[0] # the number of one_hot features in the target, 'm_label' - -# n_h_pool2_outputs = int(nRows/4) * int(nCols/4) * nConv2 # second pooling layer -# n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected -# - """# ============================================================================== - - Build a Multilayer Convolutional Network - - Weight Initialization - - """# ============================================================================== - - def weight_variable(shape, dtype): - initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) - return tf.Variable(initial) - - def bias_variable(shape, dtype): - initial = tf.constant(0.1, shape=shape, dtype=dtype) - return tf.Variable(initial) - - - """# ============================================================================== - Convolution and Pooling - - keep our code cleaner, let's also abstract those operations into functions. - - """# ============================================================================== - - def conv2d(x, W): - return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME') - - - """# ============================================================================== - - First Convolutional Layers - - """# ============================================================================== - - def shapeOuts(n): - print ('n={}, hin={},w={}, b={} ,hout={}\n'.format(n, h[n]._shape, w[n]._variable._shape, b[n]._variable._shape, h[n+1]._shape)) - - def section(n): - with tf.name_scope('section_'+str(n)+'_0') as scope: - w[n]=weight_variable([in_out_width, internal_width],dtype) - b[n]=bias_variable([internal_width],dtype) - h[n+1] = tf.nn.relu(tf.matmul(h[n], w[n]) + b[n]) - shapeOuts(n) - - with tf.name_scope('section_'+str(n)+'_1') as scope: - w[n+1]=weight_variable([internal_width, internal_width],dtype) - b[n+1]=bias_variable([internal_width],dtype) - - h[n+2]=tf.nn.relu(tf.matmul(h[n+1], w[n+1]) + b[n+1]) - shapeOuts(n+1) - - with tf.name_scope('section_'+str(n)+'_2') as scope: - w[n+2]=weight_variable([internal_width, in_out_width],dtype) - b[n+2]=bias_variable([in_out_width],dtype) - z= tf.nn.relu(tf.matmul(h[n+2], w[n+2]) + b[n+2]) - h[n+3]= tf.add(z ,h[n]) #n+3 - - print('z shape ={}'.format(z._shape)) - shapeOuts(n+2) - return - - def computeSize(s,tens): - sumC = 1 - tShape = tens.get_shape() - nDims = len(tShape) - for i in range(nDims): - sumC *= tShape[i].value - print ('\t{}\t{}'.format(s,sumC),flush=True) - return sumC - - """# ============================================================================== - Build sectional network - - """# ============================================================================== - h[0]= ph[1] - for i in range(nSections): - section(3*i) - - """# ============================================================================== - Dropout - - """# ============================================================================== - keep_prob = tf.placeholder(dtype,name='keep_prob') - - with tf.name_scope("drop") as scope: - h_fc2_drop = tf.nn.dropout(h[nSections*3], keep_prob) - - """# ============================================================================== - - Readout Layer - - """# ============================================================================== - with tf.name_scope("softmax") as scope: - w_fc3 = weight_variable([in_out_width, nTarget],dtype) - b_fc3 = bias_variable([nTarget],dtype) - y_conv=tf.nn.softmax(tf.matmul(h_fc2_drop, w_fc3) + b_fc3) - - print ('network size:',flush=True) - total = 0 - for i in range(nSections*3): - total = total + computeSize("w{}".format(i),w[i]) - total = total + computeSize ("b_fc3",b_fc3) + \ - computeSize ("w_fc3",w_fc3) - - - print('\ttotal\t{}'.format(total),flush=True) - - """# ============================================================================== - - Train and Evaluate the Model - - """# ============================================================================== - with tf.name_scope("reshape_x_image") as scope: - x_image = tf.reshape(ph.image, [-1,nCols,nRows,1]) - - with tf.name_scope("xent") as scope: - # 1e-8 added to eliminate the crash of training when taking log of 0 - cross_entropy = -tf.reduce_sum(ph[0]*tf.log(y_conv+1e-8)) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) - - with tf.name_scope("train") as scope: - train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) - - with tf.name_scope("test") as scope: - correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(ph[0],1)) - - accuracy = tf.reduce_mean(tf.cast(correct_prediction, dtype)) - accuracy_summary = tf.scalar_summary("accuracy", accuracy) - - merged = tf.merge_all_summaries() - tm = "" - tp = datetime.datetime.now().timetuple() - for i in range(4): - tm += str(tp[i])+'-' - tm += str(tp[4]) - writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, sess.graph) - - # To see the results in Chrome, - # Run the following in terminal to activate server. - # tensorboard --logdir '/tmp/ds_logs/' - # See results on localhost:6006 - - sess.run(tf.initialize_all_variables()) - - perfect_count=10 - for i in range(nEpochs): - - batch = ds.train.next_batch(100) - # assign feature data to each placeholder - # the batch list is returned in the same order as the features requested - feed = {keep_prob: 0.5} - for j in range(ds.train.num_features): - feed[ph[j]] = batch[j] - - if i%100 == 0: - # sh=h_pool2_flat.get_shape() - feed[keep_prob] = 1.0 - result = sess.run([merged, accuracy ], feed_dict=feed) - summary_str = result[0] - #acc = result[1] - writer.add_summary(summary_str, i) - train_accuracy = accuracy.eval(feed) - if train_accuracy != 1: - perfect_count=10; - else: - perfect_count -= 1 - if perfect_count==0: - break; - - print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) - train_step.run(feed_dict=feed) - - feed={keep_prob: 1.0} - # assign feature data to each placeholder - error_images = np.empty((0,nRows,nCols)) - - test_accuracy=0 - m=0 - for n in range(0,ds.test.features[0].shape[0],100 ): - for i in range(ds.train.num_features ): - feed[ph[i]] = ds.test.features[i] [n:n+100] - result = sess.run([accuracy, x_image, correct_prediction], feed_dict=feed) - test_accuracy += result[0] - error_images = np.append(error_images, result[1][:,:,:,0][result[2]==False],axis=0) - m += 1 - try: - print ("test accuracy {} for font: {}".format(test_accuracy/m, input_filters_dict['font']),flush=True) - ocr_utils.montage(error_images,title='TensorFlow {} Error Images'.format(input_filters_dict['font'])) - except: - print ("test accuracy {}".format(test_accuracy/m),flush=True) - ocr_utils.montage(error_images,title='TensorFlow Error Images') - - tf.reset_default_graph() # only necessary when iterating through fonts - sess.close() - - -if True: - # single font train - - # esamples - # select only images from 'OCRB' scanned font - # input_filters_dict = {'font': ('OCRA',)} - - # select only images from 'HANDPRINT' font - #input_filters_dict = {'font': ('HANDPRINT',)} - - # select only images from 'OCRA' and 'OCRB' fonts with the 'scanned" fontVariant - # input_filters_dict = {'font': ('OCRA','OCRB'), 'fontVariant':('scanned',)} - - # select everything; all fonts , font variants, etc. - # input_filters_dict = {} - - # select the digits 0 through 9 in the E13B font - # input_filters_dict = {'m_label': range(48,58), 'font': 'E13B'} - - # select the digits 0 and 2in the E13B font - # input_filters_dict = {'m_label': (48,50), 'font': 'E13B'} - - # output the character label, image, italic flag, aspect_ratio and upper_case flag - # output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case'] - - # output only the character label and the image - # output_feature_list = ['m_label_one_hot','image'] - - # identify the font given the input images - #output_feature_list = ['font_one_hot','image','italic','aspect_ratio','upper_case'] - - # train the digits 0-9 for all fonts - #input_filters_dict = {'m_label': range(48,58)} - input_filters_dict = {'font':'ARIAL','m_label': list(range(48,58))+list(range(65,91))+list(range(97,123))} - #input_filters_dict = {} - output_feature_list = ['m_label_one_hot','image'] - train_a_font(input_filters_dict, output_feature_list, nEpochs = 50000) - -else: - # loop through all the fonts and train individually - - # pick up the entire list of fonts and font variants. Train each one. - df1 = ocr_utils.get_list(input_filters_dict={'font': ()}) - - import pprint as pprint - pp = pprint.PrettyPrinter(indent=4) - pp.pprint(df1) - - output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case','font_one_hot'] - - # Change nEpochs to 5000 for better results - for l in df1: - input_filters_dict= {'font': (l[0],)} - train_a_font(input_filters_dict,output_feature_list, nEpochs = 500) - - -print ('\n########################### No Errors ####################################') - diff --git a/q8_tika.py b/q8_tika.py index bae89cf..b1c7f93 100644 --- a/q8_tika.py +++ b/q8_tika.py @@ -4,11 +4,49 @@ @author: richard lyman ''' + +import pytesseract import tika +from tika import translate, detector, language + + + +filename = '15-01-01 459_Mont_Lyman.jpg' +filename2 = 'img20150901_15233271bw.jpg' + +from PIL import Image + +rawText = pytesseract.image_to_string(Image.open(filename2), lang="rus") +print (rawText) +lines = rawText.split('\n') + +import os +#os.putenv( 'TIKA_VERSION','default') # - set to the version string, e.g., 1.12 or default to current Tika version. +#os.putenv( 'TIKA_SERVER_JAR','/home/richard/.m2/repository/org/apache/tika/tika-server/1.13/tika-server-1.13.jar') #- set to the full URL to the remote Tika server jar to download and cache. +os.putenv( 'TIKA_SERVER_ENDPOINT',' http://localhost:9998') #- set to the host (local or remote) for the running Tika server jar. +#os.putenv( 'TIKA_SERVER_ENDPOINT',' http://localhost:9998/language/string') #- set to the host (local or remote) for the running Tika server jar. +#os.putenv( 'TIKA_CLIENT_ONLY','True') #- if set to True, then TIKA_SERVER_JAR is ignored, and relies on the value for TIKA_SERVER_ENDPOINT and treats Tika like a REST client. +#os.putenv( 'TIKA_TRANSLATOR','org/apache/tika/language/translate/') #- set to the fully qualified class name (defaults to Lingo24) for the Tika translator implementation. +#os.putenv( 'TIKA_SERVER_CLASSPATH','/home/richard/.m2/repository/org/apache/tika/tika-server/1.13/tika-server-1.13.jar') #- set to a string (delimited by ':' for each additional path) to prepend to the Tika server jar path. tika.initVM() from tika import parser -parsed = parser.from_file('15-01-01 459_Mont_Lyman.jpg') -#parsed = parser.from_file('img20150901_15233271bw.jpg') -print (parsed["metadata"]) -print (parsed["content"]) +parsed = parser.from_buffer("comme çi comme ça") +print(parsed["metadata"]) +print(parsed["content"]) +global Verbose +Verbose=True + +result=translate.auto_from_buffer("comme çi comme ça", 'en') +print(result) +result = detector.from_buffer("comme çi comme ça") +print (result) +result = translate.from_buffer("comme çi comme ça",'fr','en') +print (result) +result = language.from_buffer("comme çi comme ça") +print (result) +for line in lines: + if len(line)>0: + result=translate.from_buffer(line, 'ru','en') + print(result) + print ('\n########################### No Errors ####################################') \ No newline at end of file diff --git a/q9_tensorflow_gpu_test.py b/q9_tensorflow_gpu_test.py index dbb7ad1..c2fbd2f 100644 --- a/q9_tensorflow_gpu_test.py +++ b/q9_tensorflow_gpu_test.py @@ -6,4 +6,6 @@ # Creates a session with log_device_placement set to True. sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) # Runs the op. -print (sess.run(c)) \ No newline at end of file +print (sess.run(c)) + +print ('\n########################### No Errors ####################################') \ No newline at end of file diff --git a/run_batch.sc b/run_batch.sc index 6ff5449..045a5ae 100755 --- a/run_batch.sc +++ b/run_batch.sc @@ -1,16 +1,16 @@ #!/bin/bash -if [ ! -d "./plots" ]; then - mkdir ./plots +if [ ! -d "/tmp/plots" ]; then + mkdir /tmp/plots fi -echo "" > ./plots/run_batch.txt -for i in $(ls -1v ./[p-q]*.py ); do - echo "" |& tee -a ./plots/run_batch.txt - echo "##############################################################" |& tee -a ./plots/run_batch.txt - echo "$i ###############################" |& tee -a ./plots/run_batch.txt - echo "##############################################################" |& tee -a ./plots/run_batch.txt - echo "" |& tee -a ./plots/run_batch.txt - python3 $i |& tee -a ./plots/run_batch.txt +echo "" > /tmp/plots/run_batch.txt +for i in $(ls -1v ./[o-q]*.py ); do + echo "" |& tee -a /tmp/plots/run_batch.txt + echo "##############################################################" |& tee -a /tmp/plots/run_batch.txt + echo "$i ###############################" |& tee -a /tmp/plots/run_batch.txt + echo "##############################################################" |& tee -a /tmp/plots/run_batch.txt + echo "" |& tee -a /tmp/plots/run_batch.txt + python3 $i |& tee -a /tmp/plots/run_batch.txt done From 22673f426cda49ab17e4b2e125a0fd6ac00146fe Mon Sep 17 00:00:00 2001 From: richard lyman Date: Fri, 17 Feb 2017 15:08:38 -0800 Subject: [PATCH 2/6] misc commits --- n0_network.py | 96 ++++++++++ n1_2cnv1fc.py | 240 ++++++++++++++++++++++++ n1_2cnv2fc.py | 279 ++++++++++++++++++++++++++++ n1_baseTensorNN.py | 272 ++++++++++++++++++++++++++++ n1_image_to_image.py | 322 +++++++++++++++++++++++++++++++++ n1_residual3x4.py | 230 +++++++++++++++++++++++ o1_top_secret_cnn.py | 225 +++++++++++++++++++++++ o2_top_secret_lda-tesseract.py | 266 +++++++++++++++++++++++++++ o3_top_secret_python_box.py | 266 +++++++++++++++++++++++++++ 9 files changed, 2196 insertions(+) create mode 100644 n0_network.py create mode 100644 n1_2cnv1fc.py create mode 100644 n1_2cnv2fc.py create mode 100644 n1_baseTensorNN.py create mode 100644 n1_image_to_image.py create mode 100644 n1_residual3x4.py create mode 100644 o1_top_secret_cnn.py create mode 100644 o2_top_secret_lda-tesseract.py create mode 100644 o3_top_secret_python_box.py diff --git a/n0_network.py b/n0_network.py new file mode 100644 index 0000000..29e140b --- /dev/null +++ b/n0_network.py @@ -0,0 +1,96 @@ +import tensorflow as tf +import numpy as np +from collections import namedtuple +import datetime +import ocr_utils + +class base_network(object): + ''' definition of the network + ''' + + + + + def fit(self, truthed_data, nEpochs=5000): + + perfect_count=10 + for i in range(nEpochs): + + batch = truthed_data.next_batch(100) + # assign feature data to each placeholder + # the batch list is returned in the same order as the features requested + feed = {self._keep_prob: 0.5} + for j in range(truthed_data.num_features): + feed[self._ph[j]] = batch[j] + + if i%100 == 0: + + feed[self._keep_prob] = 1.0 + result = self._sess.run([self._merged, self._accuracy ], feed_dict=feed) + summary_str = result[0] + + self._writer.add_summary(summary_str, i) + train_accuracy = self._accuracy.eval(feed) + if train_accuracy <= (1.0 - 1e-5 ): + perfect_count=10; + else: + perfect_count -= 1 + if perfect_count==0: + break; + + print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) + self._train_step.run(feed_dict=feed) + + + + + + def test(self, truthed_data, title = ''): + + # assign feature data to each placeholder + error_images = np.empty((0,self._nRows,self._nCols)) + + test_accuracy=0 + m=0 + + for i in range(int(len(truthed_data.features[0])/100)): + + batch = truthed_data.next_batch(100) + # assign feature data to each placeholder + # the batch list is returned in the same order as the features requested + feed = {self._keep_prob: 1.0} + for j in range(truthed_data.num_features): + feed[self._ph[j]] = batch[j] + + + result = self._sess.run([self._accuracy, self._x_image, self._correct_prediction], feed_dict=feed) + + test_accuracy += result[0] + error_images = np.append(error_images, result[1][:,:,:,0][result[2]==False],axis=0) + m += 1 + try: + print ("test accuracy {} for : {}".format(test_accuracy/m, title),flush=True) + ocr_utils.montage(error_images,title='TensorFlow {} Error Images'.format(title)) + except: + if m==0: + print ("test accuracy 1",flush=True) + else: + print ("test accuracy {}".format(test_accuracy/m),flush=True) + ocr_utils.montage(error_images,title='TensorFlow Error Images') + + + def predict(self, truthed_features): + feed={self._keep_prob: 1.0} + # assign feature data to each placeholder + error_images = np.empty((truthed_features.num_rows,truthed_features.num_columns)) + + test_accuracy=0 + m=0 + + for j in range(1,truthed_features.num_features): + feed[self._ph[j]] = truthed_features.features[j] + result = self._sess.run([self._prediction], feed_dict=feed) + + return result[0] + + \ No newline at end of file diff --git a/n1_2cnv1fc.py b/n1_2cnv1fc.py new file mode 100644 index 0000000..117fa8d --- /dev/null +++ b/n1_2cnv1fc.py @@ -0,0 +1,240 @@ +import tensorflow as tf +import numpy as np +from collections import namedtuple +import datetime +import ocr_utils +from n0_network import base_network as b_network + +class network(b_network): + ''' definition of the network + ''' + def __init__(self, truthed_features, dtype=np.float32): + + self._sess = tf.InteractiveSession() + + lst = [] + extra_features_width = 0 # width of extra features + + """# ============================================================================== + + Placeholders + + Compute the size of various layers + + Create a tensorflow Placeholder for each feature of data returned from the + dataset + + """# ============================================================================== + + for i,nm in enumerate(truthed_features.feature_names): + + # features[0], is always the target. For instance it may be m_label_one_hot + # the second features[1] is the 'image' that is passed to the convolution layers + # Any additional features bypass the convolution layers and go directly + # into the fully connected layer. + + # The width of the extra features is calculated in order to allocate + # the correct widths of weights, # and inputs + # names are assigned to make the look pretty on the tensorboard graph. + + if i == 0: + nm = 'y_'+nm + else: + nm = 'x_'+nm + if i>1: + extra_features_width += truthed_features.feature_width[i] + lst.append(tf.placeholder(dtype, shape=[None, truthed_features.feature_width[i]], name=nm)) + + # ph is a named tuple with key names like 'image', 'm_label', and values that + # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, + # x_upper_case etc. + + + Place_Holders = namedtuple('Place_Holders', truthed_features.feature_names) + self._ph = Place_Holders(*lst) # unpack placeholders into named Tuple + self._keep_prob = tf.placeholder(dtype,name='keep_prob') + self._nRows = truthed_features.num_rows #image height + self._nCols = truthed_features.num_columns #image width + nFc = 1024 # size of fully connected layer + nConv1 = 32 # size of first convolution layer + nConv2 = 64 # size of second convolution layer + nTarget = truthed_features.feature_width[0] # the number of one_hot features in the target, 'm_label' + n_h_pool2_outputs = int(self._nRows/4) * int(self._nCols/4) * nConv2 # second pooling layer + n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected + + """# ============================================================================== + + Build a Multilayer Convolutional Network + + Weight Initialization + + """# ============================================================================== + + def weight_variable(shape, dtype): + initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) + return tf.Variable(initial) + + def bias_variable(shape, dtype): + initial = tf.constant(0.1, shape=shape, dtype=dtype) + return tf.Variable(initial) + + """# ============================================================================== + + Convolution and Pooling + + keep our code cleaner, let's also abstract those operations into functions. + + """# ============================================================================== + + 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') + + """# ============================================================================== + + First Convolutional Layer + + """# ============================================================================== + with tf.name_scope("w_conv1") as scope: + W_conv1 = weight_variable([5, 5, 1, nConv1],dtype) + b_conv1 = bias_variable([nConv1],dtype) + + with tf.name_scope("reshape_x_image") as scope: + self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) + + image_summ = tf.image_summary("x_image", self._x_image) + + """# ============================================================================== + + We then convolve x_image with the weight tensor, add the bias, apply the ReLU function, + and finally max pool. + + """# ============================================================================== + + with tf.name_scope("convolve_1") as scope: + h_conv1 = tf.nn.relu(conv2d(self._x_image, W_conv1) + b_conv1) + + with tf.name_scope("pool_1") as scope: + h_pool1 = max_pool_2x2(h_conv1) + + """# ============================================================================== + + Second Convolutional Layer + + In order to build a deep network, we stack several layers of this type. The second + layer will have 64 features for each 5x5 patch. + + """# ============================================================================== + + with tf.name_scope("convolve_2") as scope: + W_conv2 = weight_variable([5, 5, nConv1, nConv2],dtype) + b_conv2 = bias_variable([64],dtype) + h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2) + + with tf.name_scope("pool_2") as scope: + h_pool2 = max_pool_2x2(h_conv2) + + """# ============================================================================== + + Densely Connected Layer + + Now that the image size has been reduced to 7x7, we add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc1_b") as scope: + W_fc1 = weight_variable([n_h_pool2_outputsx, nFc],dtype) + b_fc1 = bias_variable([nFc],dtype) + + h_pool2_flat = tf.reshape(h_pool2, [-1, n_h_pool2_outputs]) + + # append the features, the 2nd on, that go directly to the fully connected layer + for i in range(2,truthed_features.num_features ): + h_pool2_flat = tf.concat(1, [h_pool2_flat, self._ph[i]]) + h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1) + + """# ============================================================================== + + Dropout + + """# ============================================================================== + + + with tf.name_scope("drop") as scope: + h_fc1_drop = tf.nn.dropout(h_fc1, self._keep_prob) + + """# ============================================================================== + + Readout Layer + + """# ============================================================================== + with tf.name_scope("softmax") as scope: + W_fc2 = weight_variable([nFc, nTarget],dtype) + b_fc2 = bias_variable([nTarget],dtype) + y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) + + + with tf.name_scope("xent") as scope: + + # 1e-8 added to eliminate the crash of training when taking log of 0 + cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) + ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + + with tf.name_scope("train") as scope: + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + + with tf.name_scope("test") as scope: + self._correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(self._ph[0],1)) + self._prediction = tf.argmax(y_conv,1) + + self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) + accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + """# ============================================================================== + + Start TensorFlow Interactive Session + + """# ============================================================================== + + self._sess.run(tf.initialize_all_variables()) + self._merged = tf.merge_all_summaries() + tm = "" + tp = datetime.datetime.now().timetuple() + for i in range(4): + tm += str(tp[i])+'-' + tm += str(tp[4]) + self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + + def computeSize(s,tens): + sumC = 1 + tShape = tens.get_shape() + nDims = len(tShape) + for i in range(nDims): + sumC *= tShape[i].value + print ('\t{}\t{}'.format(s,sumC),flush=True) + return sumC + + print ('network size:',flush=True) + total = computeSize("W_fc1",W_fc1)+ \ + computeSize ("b_fc1",b_fc1) + \ + computeSize ("W_conv1",W_conv1) + \ + computeSize ("b_conv1",b_conv1) + \ + computeSize ("W_conv2",W_conv2) + \ + computeSize ("b_conv2",b_conv2) + \ + computeSize ("W_fc2",W_fc2) + \ + computeSize ("b_fc2",b_fc2) + print('\ttotal\t{}'.format(total),flush=True ) + + + def reset_graph(self): + tf.reset_default_graph() # only necessary when iterating through fonts + self._sess.close() + + + + \ No newline at end of file diff --git a/n1_2cnv2fc.py b/n1_2cnv2fc.py new file mode 100644 index 0000000..831b904 --- /dev/null +++ b/n1_2cnv2fc.py @@ -0,0 +1,279 @@ +import tensorflow as tf +import numpy as np +from collections import namedtuple +import datetime +from n0_network import base_network as b_network +import ocr_utils + +class network( b_network): + ''' definition of the network + ''' + + def __init__(self, truthed_features, dtype=np.float32): + self._sess = tf.InteractiveSession() + + lst = [] + extra_features_width = 0 # width of extra features + + """# ============================================================================== + + Placeholders + + Compute the size of various layers + + Create a tensorflow Placeholder for each feature of data returned from the + dataset + + """# ============================================================================== + + for i,nm in enumerate(truthed_features.feature_names): + + # features[0], is always the target. For instance it may be m_label_one_hot + # the second features[1] is the 'image' that is passed to the convolution layers + # Any additional features bypass the convolution layers and go directly + # into the fully connected layer. + + # The width of the extra features is calculated in order to allocate + # the correct widths of weights, # and inputs + # names are assigned to make the look pretty on the tensorboard graph. + + if i == 0: + nm = 'y_'+nm + else: + nm = 'x_'+nm + if i>1: + extra_features_width += truthed_features.feature_width[i] + lst.append(tf.placeholder(dtype, shape=[None, truthed_features.feature_width[i]], name=nm)) + + # ph is a named tuple with key names like 'image', 'm_label', and values that + # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, + # x_upper_case etc. + + + Place_Holders = namedtuple('Place_Holders', truthed_features.feature_names) + self._ph = Place_Holders(*lst) # unpack placeholders into named Tuple + self._keep_prob = tf.placeholder(dtype,name='keep_prob') + self._nRows = truthed_features.num_rows #image height + self._nCols = truthed_features.num_columns #image width + nFc0 = 2048 # size of fully connected layer + nFc1 = 2048 # size of fully connected layer + nFc2 = 2048 # size of fully connected layer + nConv1 = 32 # size of first convolution layer + nConv2 = 64 # size of second convolution layer + nTarget = truthed_features.feature_width[0] # the number of one_hot features in the target, 'm_label' + n_h_pool2_outputs = int(self._nRows/4) * int(self._nCols/4) * nConv2 # second pooling layer + n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected + + """# ============================================================================== + + Build a Multilayer Convolutional Network + + Weight Initialization + + """# ============================================================================== + + def weight_variable(shape, dtype): + initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) + return tf.Variable(initial) + + def bias_variable(shape, dtype): + initial = tf.constant(0, shape=shape, dtype=dtype) + return tf.Variable(initial) + + """# ============================================================================== + + Convolution and Pooling + + keep our code cleaner, let's also abstract those operations into functions. + + """# ============================================================================== + + 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') + + """# ============================================================================== + + First Convolutional Layer + + """# ============================================================================== + with tf.name_scope("w_conv1") as scope: + W_conv1 = weight_variable([5, 5, 1, nConv1],dtype) + b_conv1 = bias_variable([nConv1],dtype) + + with tf.name_scope("reshape_x_image") as scope: + self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) + + image_summ = tf.image_summary("x_image", self._x_image) + + """# ============================================================================== + + We then convolve x_image with the weight tensor, add the bias, apply the ReLU function, + and finally max pool. + + """# ============================================================================== + + with tf.name_scope("convolve_1") as scope: + h_conv1 = tf.nn.relu(conv2d(self._x_image, W_conv1) + b_conv1) + + with tf.name_scope("pool_1") as scope: + h_pool1 = max_pool_2x2(h_conv1) + + """# ============================================================================== + + Second Convolutional Layer + + In order to build a deep network, we stack several layers of this type. The second + layer will have 64 features for each 5x5 patch. + + """# ============================================================================== + + with tf.name_scope("convolve_2") as scope: + W_conv2 = weight_variable([5, 5, nConv1, nConv2],dtype) + b_conv2 = bias_variable([64],dtype) + h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2) + + with tf.name_scope("pool_2") as scope: + h_pool2 = max_pool_2x2(h_conv2) + + """# ============================================================================== + + Densely Connected Layer + + Now that the image size has been reduced to 7x7, we add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc1_b") as scope: + W_fc0 = weight_variable([n_h_pool2_outputsx, nFc0],dtype) + b_fc0 = bias_variable([nFc0],dtype) + + h_pool2_flat = tf.reshape(h_pool2, [-1, n_h_pool2_outputs]) + + # append the features, the 2nd on, that go directly to the fully connected layer + for i in range(2,truthed_features.num_features ): + h_pool2_flat = tf.concat(1, [h_pool2_flat, self._ph[i]]) + h_fc0 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc0) + b_fc0) + + """# ============================================================================== + + Densely Connected Layer 1 + + We add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc1_b") as scope: + W_fc1 = weight_variable([nFc0, nFc1],dtype) + b_fc1 = bias_variable([nFc1],dtype) + + h_fc1 = tf.nn.relu(tf.matmul(h_fc0, W_fc1) + b_fc1) + + """# ============================================================================== + + Densely Connected Layer 2 + + We add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc2_b") as scope: + W_fc2 = weight_variable([nFc1, nFc2],dtype) + b_fc2 = bias_variable([nFc2],dtype) + + h_fc2 = tf.nn.relu(tf.matmul(h_fc1, W_fc2) + b_fc2) + + """# ============================================================================== + + Dropout + + """# ============================================================================== + + + with tf.name_scope("drop") as scope: + h_fc2_drop = tf.nn.dropout(h_fc2, self._keep_prob) + + """# ============================================================================== + + Readout Layer + + """# ============================================================================== + with tf.name_scope("softmax") as scope: + W_fc3 = weight_variable([nFc2, nTarget],dtype) + b_fc3 = bias_variable([nTarget],dtype) + y_conv=tf.nn.softmax(tf.matmul(h_fc2_drop, W_fc3) + b_fc3) + + with tf.name_scope("xent") as scope: + + # 1e-8 added to eliminate the crash of training when taking log of 0 + cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) + ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + + with tf.name_scope("train") as scope: + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + + with tf.name_scope("test") as scope: + self._correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(self._ph[0],1)) + self._prediction = tf.argmax(y_conv,1) + + self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) + accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + """# ============================================================================== + + Start TensorFlow Interactive Session + + """# ============================================================================== + + self._sess.run(tf.initialize_all_variables()) + self._merged = tf.merge_all_summaries() + tm = "" + tp = datetime.datetime.now().timetuple() + for i in range(4): + tm += str(tp[i])+'-' + tm += str(tp[4]) + self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + + def computeSize(s,tens): + sumC = 1 + tShape = tens.get_shape() + nDims = len(tShape) + for i in range(nDims): + sumC *= tShape[i].value + print ('\t{}\t{}'.format(s,sumC),flush=True) + return sumC + + print ('network size:',flush=True) + total = computeSize("W_fc0",W_fc0)+ \ + computeSize ("b_fc0",b_fc0) + \ + computeSize ("W_conv1",W_conv1) + \ + computeSize ("b_conv1",b_conv1) + \ + computeSize ("W_conv2",W_conv2) + \ + computeSize ("b_conv2",b_conv2) + \ + computeSize ("W_fc0",W_fc0) + \ + computeSize ("b_fc0",b_fc0) + \ + computeSize ("W_fc1",W_fc1) + \ + computeSize ("b_fc1",b_fc1) + \ + computeSize ("W_fc2",W_fc2) + \ + computeSize ("b_fc2",b_fc2) + + print('\ttotal\t{}'.format(total),flush=True) + + def reset_graph(self): + tf.reset_default_graph() # only necessary when iterating through fonts + self._sess.close() + + + + \ No newline at end of file diff --git a/n1_baseTensorNN.py b/n1_baseTensorNN.py new file mode 100644 index 0000000..62353db --- /dev/null +++ b/n1_baseTensorNN.py @@ -0,0 +1,272 @@ +import tensorflow as tf +import numpy as np +from collections import namedtuple +import datetime +import ocr_utils +''' + # To see the results in Chrome, + # Run the following in terminal to activate server. + # tensorboard --logdir '/tmp/ds_logs/' + # See results on localhost:6006 +''' + +class network(object): + ''' definition of the network + ''' + def __init__(self, truthed_features, dtype=np.float32): + self._ph=None + self._keep_prob=None + self._train_step =None + self._accuracy=None + self._prediction=None + self._merged=None + self._writer=None + self._correct_prediction=None + + + lst = [] + extra_features_width = 0 # width of extra features + + """# ============================================================================== + + Placeholders + + Compute the size of various layers + + Create a tensorflow Placeholder for each feature of data returned from the + dataset + + """# ============================================================================== + + for i,nm in enumerate(truthed_features.feature_names): + + # features[0], is always the target. For instance it may be m_label_one_hot + # the second features[1] is the 'image' that is passed to the convolution layers + # Any additional features bypass the convolution layers and go directly + # into the fully connected layer. + + # The width of the extra features is calculated in order to allocate + # the correct widths of weights, # and inputs + # names are assigned to make the look pretty on the tensorboard graph. + + if i == 0: + nm = 'y_'+nm + else: + nm = 'x_'+nm + if i>1: + extra_features_width += truthed_features.feature_width[i] + lst.append(tf.placeholder(dtype, shape=[None, truthed_features.feature_width[i]], name=nm)) + + # ph is a named tuple with key names like 'image', 'm_label', and values that + # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, + # x_upper_case etc. + + + Place_Holders = namedtuple('Place_Holders', truthed_features.feature_names) + self._ph = Place_Holders(*lst) # unpack placeholders into named Tuple + self._keep_prob = tf.placeholder(dtype,name='keep_prob') + self._nRows = truthed_features.num_rows #image height + self._nCols = truthed_features.num_columns #image width + nFc = 1024 # size of fully connected layer + nConv1 = 32 # size of first convolution layer + nConv2 = 64 # size of second convolution layer + nTarget = truthed_features.feature_width[0] # the number of one_hot features in the target, 'm_label' + n_h_pool2_outputs = int(self._nRows/4) * int(self._nCols/4) * nConv2 # second pooling layer + n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected + + """# ============================================================================== + + Build a Multilayer Convolutional Network + + Weight Initialization + + """# ============================================================================== + + def weight_variable(shape, dtype): + initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) + return tf.Variable(initial) + + def bias_variable(shape, dtype): + initial = tf.constant(0, shape=shape, dtype=dtype) + return tf.Variable(initial) + + """# ============================================================================== + + Convolution and Pooling + + keep our code cleaner, let's also abstract those operations into functions. + + """# ============================================================================== + + 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') + + """# ============================================================================== + + Image debugging output + + """# ============================================================================== + + with tf.name_scope("reshape_x_image") as scope: + self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) + + image_summ = tf.image_summary("x_image", self._x_image) + + + + """# ============================================================================== + + Dropout + + """# ============================================================================== + + with tf.name_scope("drop") as scope: + h_fc1_drop = tf.nn.dropout(h_fc1, self._keep_prob) + + """# ============================================================================== + + Readout Layer + + """# ============================================================================== + with tf.name_scope("softmax") as scope: + W_fc2 = weight_variable([nFc, nTarget],dtype) + b_fc2 = bias_variable([nTarget],dtype) + y_conv=tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2) + + + with tf.name_scope("xent") as scope: + + # 1e-8 added to eliminate the crash of training when taking log of 0 + cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) + ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + + with tf.name_scope("train") as scope: + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + + with tf.name_scope("test") as scope: + self._correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(self._ph[0],1)) + self._prediction = tf.argmax(y_conv,1) + + self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) + accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + """# ============================================================================== + + Start TensorFlow Interactive Session + + """# ============================================================================== + self._sess = tf.InteractiveSession() + self._sess.run(tf.initialize_all_variables()) + self._merged = tf.merge_all_summaries() + tm = "" + tp = datetime.datetime.now().timetuple() + for i in range(4): + tm += str(tp[i])+'-' + tm += str(tp[4]) + self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + + def computeSize(s,tens): + sumC = 1 + tShape = tens.get_shape() + nDims = len(tShape) + for i in range(nDims): + sumC *= tShape[i].value + print ('\t{}\t{}'.format(s,sumC),flush=True) + return sumC + + print ('network size:',flush=True) + total = computeSize("W_fc1",W_fc1)+ \ + computeSize ("b_fc1",b_fc1) + \ + computeSize ("W_conv1",W_conv1) + \ + computeSize ("b_conv1",b_conv1) + \ + computeSize ("W_conv2",W_conv2) + \ + computeSize ("b_conv2",b_conv2) + \ + computeSize ("W_fc2",W_fc2) + \ + computeSize ("b_fc2",b_fc2) + print('\ttotal\t{}'.format(total),flush=True ) + + + + def __exit__(self, exc_type, exc_value, traceback): + tf.reset_default_graph() # only necessary when iterating through fonts + self._sess.close() + + + + def fit(self, truthed_data, nEpochs=5000): + + perfect_count=10 + for i in range(nEpochs): + + batch = truthed_data.next_batch(100) + # assign feature data to each placeholder + # the batch list is returned in the same order as the features requested + feed = {self._keep_prob: 0.5} + for j in range(truthed_data.num_features): + feed[self._ph[j]] = batch[j] + + if i%100 == 0: + # sh=h_pool2_flat.get_shape() + feed[self._keep_prob] = 1.0 + result = self._sess.run([self._merged, self._accuracy ], feed_dict=feed) + summary_str = result[0] + #acc = result[1] + self._writer.add_summary(summary_str, i) + train_accuracy = self._accuracy.eval(feed) + if train_accuracy <= (1.0 - 1e-5 ): + perfect_count=10; + else: + perfect_count -= 1 + if perfect_count==0: + break; + + print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) + self._train_step.run(feed_dict=feed) + + + + + + def test(self, truthed_features): + feed={self._keep_prob: 1.0} + # assign feature data to each placeholder + error_images = np.empty((0,self._nRows,self._nCols)) + + test_accuracy=0 + m=0 + + for j in range(truthed_features.num_features): + feed[self._ph[j]] =truthed_features.features[j] + result = self._sess.run([self._accuracy, self._x_image, self._correct_prediction], feed_dict=feed) + test_accuracy += result[0] + error_images = np.append(error_images, result[1][:,:,:,0][result[2]==False],axis=0) + m += 1 + try: + print ("test accuracy {} for font: {}".format(test_accuracy/m, input_filters_dict['font']),flush=True) + ocr_utils.montage(error_images,title='TensorFlow {} Error Images'.format(input_filters_dict['font'])) + except: + if m==0: + print ("test accuracy 1",flush=True) + else: + print ("test accuracy {}".format(test_accuracy/m),flush=True) + ocr_utils.montage(error_images,title='TensorFlow Error Images') + + + def predict(self, truthed_features): + feed={self._keep_prob: 1.0} + # assign feature data to each placeholder + error_images = np.empty((truthed_features.num_rows,truthed_features.num_columns)) + + test_accuracy=0 + m=0 + + for j in range(1,truthed_features.num_features): + feed[self._ph[j]] = truthed_features.features[j] + result = self._sess.run([self._prediction], feed_dict=feed) + + return result[0] + + \ No newline at end of file diff --git a/n1_image_to_image.py b/n1_image_to_image.py new file mode 100644 index 0000000..6ba2b08 --- /dev/null +++ b/n1_image_to_image.py @@ -0,0 +1,322 @@ +import tensorflow as tf +import numpy as np +from collections import namedtuple +import datetime +from n0_network import base_network as b_network +import ocr_utils + +class network( b_network): + ''' definition of the network + ''' + + def __init__(self, truthed_features, dtype=np.float32): + self._sess = tf.InteractiveSession() + + lst = [] + extra_features_width = 0 # width of extra features + + """# ============================================================================== + + Placeholders + + Compute the size of various layers + + Create a tensorflow Placeholder for each feature of data returned from the + dataset + + """# ============================================================================== + + for i,nm in enumerate(truthed_features.feature_names): + + # features[0], is always the target. For instance it may be m_label_one_hot + # the second features[1] is the 'image' that is passed to the convolution layers + # Any additional features bypass the convolution layers and go directly + # into the fully connected layer. + + # The width of the extra features is calculated in order to allocate + # the correct widths of weights, # and inputs + # names are assigned to make the look pretty on the tensorboard graph. + + if i == 0: + nm = 'y_'+nm + else: + nm = 'x_'+nm + if i>1: + extra_features_width += truthed_features.feature_width[i] + lst.append(tf.placeholder(dtype, shape=[None, truthed_features.feature_width[i]], name=nm)) + + # ph is a named tuple with key names like 'image', 'm_label', and values that + # are tensors. The display name on the Chrome graph are 'y_m_label', 'x_image, + # x_upper_case etc. + + + Place_Holders = namedtuple('Place_Holders', truthed_features.feature_names) + self._ph = Place_Holders(*lst) # unpack placeholders into named Tuple + self._keep_prob = tf.placeholder(dtype,name='keep_prob') + self._nRows = truthed_features.num_rows #image height + self._nCols = truthed_features.num_columns #image width + nFc0 = 2048 # size of fully connected layer + nFc1 = 100 # size of fully connected layer + nFc2 = self._nRows*self._nCols # size of fully connected layer + nConv1 = 32 # size of first convolution layer + nConv2 = 64 # size of second convolution layer + nTarget = truthed_features.feature_width[0] # the number of one_hot features in the target, 'm_label' + n_h_pool2_outputs = int(self._nRows/4) * int(self._nCols/4) * nConv2 # second pooling layer + n_h_pool2_outputsx = n_h_pool2_outputs + extra_features_width # fully connected + + """# ============================================================================== + + Build a Multilayer Convolutional Network + + Weight Initialization + + """# ============================================================================== + + def weight_variable(shape, dtype): + initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) + return tf.Variable(initial) + + def bias_variable(shape, dtype): + initial = tf.constant(0, shape=shape, dtype=dtype) + return tf.Variable(initial) + + """# ============================================================================== + + Convolution and Pooling + + keep our code cleaner, let's also abstract those operations into functions. + + """# ============================================================================== + + 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') + + """# ============================================================================== + + First Convolutional Layer + + """# ============================================================================== + with tf.name_scope("w_conv1") as scope: + W_conv1 = weight_variable([5, 5, 1, nConv1],dtype) + b_conv1 = bias_variable([nConv1],dtype) + + with tf.name_scope("reshape_x_image") as scope: + self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) + + image_summ = tf.image_summary("x_image", self._x_image) + + """# ============================================================================== + + We then convolve x_image with the weight tensor, add the bias, apply the ReLU function, + and finally max pool. + + """# ============================================================================== + + with tf.name_scope("convolve_1") as scope: + h_conv1 = tf.nn.relu(conv2d(self._x_image, W_conv1) + b_conv1) + + with tf.name_scope("pool_1") as scope: + h_pool1 = max_pool_2x2(h_conv1) + + """# ============================================================================== + + Second Convolutional Layer + + In order to build a deep network, we stack several layers of this type. The second + layer will have 64 features for each 5x5 patch. + + """# ============================================================================== + + with tf.name_scope("convolve_2") as scope: + W_conv2 = weight_variable([5, 5, nConv1, nConv2],dtype) + b_conv2 = bias_variable([64],dtype) + h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2) + + with tf.name_scope("pool_2") as scope: + h_pool2 = max_pool_2x2(h_conv2) + + """# ============================================================================== + + Densely Connected Layer + + Now that the image size has been reduced to 7x7, we add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc1_b") as scope: + W_fc0 = weight_variable([n_h_pool2_outputsx, nFc0],dtype) + b_fc0 = bias_variable([nFc0],dtype) + + h_pool2_flat = tf.reshape(h_pool2, [-1, n_h_pool2_outputs]) + + # append the features, the 2nd on, that go directly to the fully connected layer + for i in range(2,truthed_features.num_features ): + h_pool2_flat = tf.concat(1, [h_pool2_flat, self._ph[i]]) + h_fc0 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc0) + b_fc0) + + """# ============================================================================== + + Densely Connected Layer 1 + + We add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc1_b") as scope: + W_fc1 = weight_variable([nFc0, nFc1],dtype) + b_fc1 = bias_variable([nFc1],dtype) + + h_fc1 = tf.nn.relu(tf.matmul(h_fc0, W_fc1) + b_fc1) + + """# ============================================================================== + + Densely Connected Layer 2 + + We add a fully-connected layer + with neurons to allow processing on the entire image. We reshape the tensor + from the pooling layer into a batch of vectors, multiply by a weight matrix, add + a bias, and apply a ReLU. + + """# ============================================================================== + + with tf.name_scope("W_fc2_b") as scope: + W_fc2 = weight_variable([nFc1, nFc2],dtype) + b_fc2 = bias_variable([nFc2],dtype) + + h_fc2 = tf.nn.relu(tf.matmul(h_fc1, W_fc2) + b_fc2) + + """# ============================================================================== + + Dropout + + """# ============================================================================== + + + with tf.name_scope("drop") as scope: + h_fc2_drop = tf.nn.dropout(h_fc2, self._keep_prob) + + """# ============================================================================== + + Readout Layer + + """# ============================================================================== + with tf.name_scope("softmax") as scope: + W_fc3 = weight_variable([nFc2, nTarget],dtype) + b_fc3 = bias_variable([nTarget],dtype) + y_conv=tf.nn.softmax(tf.matmul(h_fc2_drop, W_fc3) + b_fc3) + + with tf.name_scope("xent") as scope: + + # 1e-8 added to eliminate the crash of training when taking log of 0 + cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) + #cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits( + # logits, labels, name='xentropy') + ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + + with tf.name_scope("reshape_x_image2") as scope: + self._x_image2 = tf.reshape(self._ph[0], [-1,int(self._nCols/2),int(self._nRows/2),1]) + + image_summ2 = tf.image_summary("x_image2", self._x_image2) + + with tf.name_scope("train") as scope: + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + #self._train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) + + with tf.name_scope("test") as scope: + self._correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(self._ph[0],1)) + self._prediction = tf.argmax(y_conv,1) + + self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) + accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + """# ============================================================================== + + Start TensorFlow Interactive Session + + """# ============================================================================== + + self._sess.run(tf.initialize_all_variables()) + self._merged = tf.merge_all_summaries() + tm = "" + tp = datetime.datetime.now().timetuple() + for i in range(4): + tm += str(tp[i])+'-' + tm += str(tp[4]) + self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + + def computeSize(s,tens): + sumC = 1 + tShape = tens.get_shape() + nDims = len(tShape) + for i in range(nDims): + sumC *= tShape[i].value + print ('\t{}\t{}'.format(s,sumC),flush=True) + return sumC + + print ('network size:',flush=True) + total = computeSize("W_fc0",W_fc0)+ \ + computeSize ("b_fc0",b_fc0) + \ + computeSize ("W_conv1",W_conv1) + \ + computeSize ("b_conv1",b_conv1) + \ + computeSize ("W_conv2",W_conv2) + \ + computeSize ("b_conv2",b_conv2) + \ + computeSize ("W_fc0",W_fc0) + \ + computeSize ("b_fc0",b_fc0) + \ + computeSize ("W_fc1",W_fc1) + \ + computeSize ("b_fc1",b_fc1) + \ + computeSize ("W_fc2",W_fc2) + \ + computeSize ("b_fc2",b_fc2) + + print('\ttotal\t{}'.format(total),flush=True) + + def reset_graph(self): + tf.reset_default_graph() # only necessary when iterating through fonts + self._sess.close() + + def test2(self, truthed_data, title = ''): + + # assign feature data to each placeholder + + output_images = np.empty((0,int(self._nRows/2),int(self._nCols/2))) + input_images = np.empty((0,int(self._nRows),int(self._nCols))) + test_accuracy=0 + m=0 + + for i in range(int(len(truthed_data.features[0])/100)): + + batch = truthed_data.next_batch(100) + # assign feature data to each placeholder + # the batch list is returned in the same order as the features requested + feed = {self._keep_prob: 1.0} + for j in range(truthed_data.num_features): + feed[self._ph[j]] = batch[j] + + + result = self._sess.run([self._accuracy, self._x_image, self._correct_prediction, self._x_image2], feed_dict=feed) + + test_accuracy += result[0] + input_images = np.append(input_images, result[1][:,:,:,0],axis=0) + output_images = np.append(output_images, result[3][:,:,:,0],axis=0) + m += 1 + try: + print ("test accuracy {} for : {}".format(test_accuracy/m, title),flush=True) + ocr_utils.montage(input_images,title='TensorFlow {} Input Images'.format(title)) + ocr_utils.montage(output_images,title='TensorFlow {} Output Images'.format(title)) + except: + if m==0: + print ("test accuracy 1",flush=True) + else: + print ("test accuracy {}".format(test_accuracy/m),flush=True) + ocr_utils.montage(output_images,title='TensorFlow Output Images') + ocr_utils.montage(input_images,title='TensorFlow Input Images') + + \ No newline at end of file diff --git a/n1_residual3x4.py b/n1_residual3x4.py new file mode 100644 index 0000000..b274714 --- /dev/null +++ b/n1_residual3x4.py @@ -0,0 +1,230 @@ +''' + +takes an image input and trains it to make an image output + +funnels down to a 'key' and then goes back up to image + + + +''' +import tensorflow as tf +import numpy as np +from collections import namedtuple +import datetime +import ocr_utils +from n0_network import base_network as b_network + +class network(b_network): + ''' definition of the network + ''' + def __init__(self, truthed_features, dtype=np.float32): + self._sess = tf.InteractiveSession() + + lst = [] + extra_features_width = 0 # width of extra features + + """# ============================================================================== + + Placeholders + + Compute the size of various layers + + Create a tensorflow Placeholder for each feature of data returned from the + dataset + + """# ============================================================================== + + for i,nm in enumerate(truthed_features.feature_names): + + # features[0], is always the target. For instance it may be m_label_one_hot + # the second features[1] is the 'image' that is passed to the convolution layers + # Any additional features bypass the convolution layers and go directly + # into the fully connected layer. + + # The width of the extra features is calculated in order to allocate + # the correct widths of weights, # and inputs + # names are assigned to make the look pretty on the tensorboard graph. + + if i == 0: + nm = 'y_'+nm + else: + nm = 'x_'+nm + if i>1: + extra_features_width += truthed_features.feature_width[i] + lst.append(tf.placeholder(dtype, shape=[None, truthed_features.feature_width[i]], name=nm)) + + # ph is a named tuple with key names like 'image', 'm_label', and values that + # are tensors. The display name on the Chrome graph are 'y_m_label', 'self._x_image, + # x_upper_case etc. + + + Place_Holders = namedtuple('Place_Holders', truthed_features.feature_names) + self._ph = Place_Holders(*lst) # unpack placeholders into named Tuple + self._keep_prob = tf.placeholder(dtype,name='keep_prob') + self._nRows = truthed_features.num_rows #image height + self._nCols = truthed_features.num_columns #image width + nSections = 10 + + in_out_width = self._nRows*self._nCols + internal_width = int(in_out_width/4) + w = list(range(nSections*3)) + b = list(range(nSections*3)) + h = list(range(nSections*3+1)) + nFc1 = 2048 # size of fully connected layer + + nTarget = truthed_features.feature_width[0] # the number of one_hot features in the target, 'm_label' + + """# ============================================================================== + + Build a Multilayer Convolutional Network + + Weight Initialization + + """# ============================================================================== + + def weight_variable(shape, dtype): + initial = tf.truncated_normal(shape, stddev=0.1,dtype=dtype) + return tf.Variable(initial) + + def bias_variable(shape, dtype): + initial = tf.constant(0, shape=shape, dtype=dtype) + return tf.Variable(initial) + + def shapeOuts(n): + print ('n={}, hin={},w={}, b={} ,hout={}\n'.format(n, h[n]._shape, w[n]._variable._shape, b[n]._variable._shape, h[n+1]._shape)) + + def section(n): + with tf.name_scope('section_'+str(n)+'_0') as scope: + w[n]=weight_variable([in_out_width, internal_width],dtype) + b[n]=bias_variable([internal_width],dtype) + h[n+1] = tf.nn.relu(tf.matmul(h[n], w[n]) + b[n]) + shapeOuts(n) + + with tf.name_scope('section_'+str(n)+'_1') as scope: + w[n+1]=weight_variable([internal_width, internal_width],dtype) + b[n+1]=bias_variable([internal_width],dtype) + + h[n+2]=tf.nn.relu(tf.matmul(h[n+1], w[n+1]) + b[n+1]) + shapeOuts(n+1) + + with tf.name_scope('section_'+str(n)+'_2') as scope: + w[n+2]=weight_variable([internal_width, in_out_width],dtype) + b[n+2]=bias_variable([in_out_width],dtype) + z= tf.nn.relu(tf.matmul(h[n+2], w[n+2]) + b[n+2]) + h[n+3]= tf.add(z ,h[n]) #n+3 + + print('z shape ={}'.format(z._shape)) + shapeOuts(n+2) + return + + def computeSize(s,tens): + sumC = 1 + tShape = tens.get_shape() + nDims = len(tShape) + for i in range(nDims): + sumC *= tShape[i].value + print ('\t{}\t{}'.format(s,sumC),flush=True) + return sumC + + """# ============================================================================== + Build sectional network + + """# ============================================================================== + h[0]= self._ph[1] + for i in range(nSections): + section(3*i) + + """# ============================================================================== + Dropout + + """# ============================================================================== + self._keep_prob = tf.placeholder(dtype,name='keep_prob') + + with tf.name_scope("drop") as scope: + h_fc2_drop = tf.nn.dropout(h[nSections*3], self._keep_prob) + + """# ============================================================================== + + Readout Layer + + """# ============================================================================== + with tf.name_scope("softmax") as scope: + w_fc3 = weight_variable([in_out_width, nTarget],dtype) + b_fc3 = bias_variable([nTarget],dtype) + y_conv=tf.nn.softmax(tf.matmul(h_fc2_drop, w_fc3) + b_fc3) + + print ('network size:',flush=True) + total = 0 + for i in range(nSections*3): + total = total + computeSize("w{}".format(i),w[i]) + total = total + computeSize ("b_fc3",b_fc3) + \ + computeSize ("w_fc3",w_fc3) + + print('\ttotal\t{}'.format(total),flush=True) + + + with tf.name_scope("reshape_self._x_image") as scope: + self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) + + with tf.name_scope("xent") as scope: + # 1e-8 added to eliminate the crash of training when taking log of 0 + cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+1e-8)) + ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + + with tf.name_scope("train") as scope: + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + + with tf.name_scope("test") as scope: + self._correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(self._ph[0],1)) + self._prediction = tf.argmax(y_conv,1) + + self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) + accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + + """# ============================================================================== + + Start TensorFlow Interactive Session + + """# ============================================================================== + + self._sess.run(tf.initialize_all_variables()) + self._merged = tf.merge_all_summaries() + tm = "" + tp = datetime.datetime.now().timetuple() + for i in range(4): + tm += str(tp[i])+'-' + tm += str(tp[4]) + + # To see the results in Chrome, + # Run the following in terminal to activate server. + # tensorboard --logdir '/tmp/ds_logs/' + # See results on localhost:6006 + + self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + + def computeSize(s,tens): + sumC = 1 + tShape = tens.get_shape() + nDims = len(tShape) + for i in range(nDims): + sumC *= tShape[i].value + print ('\t{}\t{}'.format(s,sumC),flush=True) + return sumC + + + + def __exit__(self, exc_type, exc_value, traceback): + tf.reset_default_graph() # only necessary when iterating through fonts + self._sess.close() + + + def reset_graph(self): + tf.reset_default_graph() # only necessary when iterating through fonts + self._sess.close() + +# +# def encode(self): +# +# return key +# +# def decode(self, key): \ No newline at end of file diff --git a/o1_top_secret_cnn.py b/o1_top_secret_cnn.py new file mode 100644 index 0000000..86e931a --- /dev/null +++ b/o1_top_secret_cnn.py @@ -0,0 +1,225 @@ +#!/usr/bin/python + + +"""# ========================================================================== + +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + + +encode a secret message in the angle of rotation of characters + +Train a neural network on rotated versions of characters with the output of +the network being the angle of rotation. + +Thus, given a rotated character, the neural network will yield a value +that is the amount of rotation of the character. + +Encode a test set by applying a secret message with one bit for each character. +Decode the secret message by running the rotated characters through the +neural network, yielding the pattern of bits. + + +@author: richard lyman + +"""# ============================================================================== +import ocr_utils + + +import numpy as np +from PIL import Image, ImageDraw +import io +#import n1_2cnv1fc as nnetwork +#import n1_residual3x4 as nnetwork +import n1_2cnv2fc as nnetwork +input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))} +output_feature_list = ['orientation_one_hot','image'] +dtype = np.float32 + +skewRange = np.linspace(-0.2,0.2,2) + +''' + pick up the base character + + make a training set by rotating them through n angles + + train + + pick up the base characters + encode the secret message n bits at a time into the characters + this is the testing set + + test secret message yielding a vector of rotations + + convert the rotation back into bits + + assemble the bits into the secret message. + ''' + + +# pick up the base characters from training_image_file +# produce some skeared versions +# make into a training set +# place in a ocr_utils TruthedCharacters class so we can use the +# one hot and batch functions + +character_size = 100 +white_space=8 + +image_file= '15-01-01 459_Mont_Lyman' +image_file_jpg = image_file+'.jpg' + +df,t1 = ocr_utils.file_to_df(image_file,character_size,title='Characters to Train',white_space=white_space) + +shp = t1.shape +totalN = len(skewRange)*shp[0] + +images=[] +originalH=[] +originalW=[] +tops=[] +lefts=[] +orientation=[] +recognized_label =[] + +import skimage.transform as af + +for j in range(shp[0]): + for i,skew in enumerate(skewRange): + k = i+j*len(skewRange) + + images.append(ocr_utils.shear(t1[j],skew)) + originalH.append(df['originalH'][j]) + tops.append(df['m_top'][j]) + originalW.append(df['originalW'][j]) + lefts.append(df['m_left'][j]) + + orientation.append(skew) + recognized_label.append( df['m_label'][j]) +images=np.array(images) +ocr_utils.montage(images, title='Base Characters Skewed') + +images = np.reshape(images,(images.shape[0],images.shape[1]*images.shape[2])) +df = ocr_utils.make_df(images, character_size, character_size, originalH, originalW, tops, lefts, orientation, recognized_label ) +#df = ocr_utils.make_df(images, character_size, character_size, bottoms, rights, tops, lefts, orientation, recognized_label ) + + +# input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))} +input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))} +output_feature_list = ['orientation_one_hot','image'] +ds = ocr_utils.read_df(df,input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = 0, + engine_type='tensorflow', + dtype=dtype) + +nn = nnetwork.network(ds.train) +"""# ============================================================================== + +Train and Evaluate the Model + +"""# ============================================================================== + +nn.fit( ds.train , nEpochs=5000) + +####################################################################################### + +# now that the font is trained, pick up some text and encode a message +image_file= '15-01-01 459_Mont_Lyman' +image_file_jpg = image_file+'.jpg' +df,t1 = ocr_utils.file_to_df(image_file,character_size, title = 'unencrypted file',white_space=white_space) + +from bitarray import bitarray +secret_message = "top secret" +a = bitarray() +a.fromstring(secret_message) + +index = 0 +encoded_skews=[] +def convert_to_shear(a): + index = 0 + while True: + if index < len(a): + bits = a[index:index+1].to01() + index += 1 + #c = int(bits,2) + c = int(bits) + yield c + else: + yield -1 + +gen= convert_to_shear(a) + +im = Image.open(image_file_jpg) +img2 = Image.new('L',(im.height,im.width),color=255) +img3 = Image.new('L',(im.height,im.width),color=255) +draw = ImageDraw.Draw(img3) +for i in range(t1.shape[0]): + left = int(df['m_left'][i]) + right = left + int(df['originalW'][i]) + top = int(df['m_top'][i]) + bottom = top + int(df['originalH'][i]) + skew_index = next(gen) + #print ('i={}, skew_index={}, left={}, top={}, right={}, bottom={}'.format(i,skew_index, left,top,right,bottom)) + encoded_skews.append(skew_index) + if skew_index >= 0: + t1[i] = ocr_utils.shear(t1[i], skewRange[skew_index]) + im_clip = Image.fromarray(256.0-t1[i]*256.0) + img2.paste(im_clip, box= (left , top)) + img3.paste(im_clip, box= (left , top)) + + + draw.rectangle((left,top,right+2*white_space,bottom+2*white_space), outline=0) + +gen.close() + +###########################################################################vvvvvvv +image_file= '/tmp/plots/01_encrypted_file' +image_file_jpg = image_file+'.jpg' +img2.save(image_file_jpg) + + +image_file3= '/tmp/plots/01_03_encrypted_file_with_box' +image_file3_jpg = image_file3+'.jpg' +img3.save(image_file3_jpg) + +''' test the new encrptyed file +''' +df,t1 = ocr_utils.file_to_df(image_file,character_size, title = 'Encrypted File',white_space=white_space) + +ds = ocr_utils.read_df(df,input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = 1, + engine_type='tensorflow', + dtype=dtype) + +results = nn.predict(ds.test) +correct_characters=[] +incorrect_characters=[] +for i,x in enumerate(df['m_label']): + try: + print('index={}, original character={}, result= {}, skew={}'.format(i, chr(int(x)),results[i], encoded_skews[i]) ) + if encoded_skews[i] >=0: + if results[i] == encoded_skews[i]: + correct_characters.append(chr(int(x))) + else: + incorrect_characters.append(chr(int(x))) + except: + print ('index out of bounds={}'.format(i)) +print ('correct characters={}'.format(correct_characters)) +print ('incorrect characters={}'.format(incorrect_characters)) + +print ('\n########################### No Errors ####################################') + diff --git a/o2_top_secret_lda-tesseract.py b/o2_top_secret_lda-tesseract.py new file mode 100644 index 0000000..899c6ad --- /dev/null +++ b/o2_top_secret_lda-tesseract.py @@ -0,0 +1,266 @@ +''' + +Created on Oct, 2016 +T + +@author: richard +''' +import ocr_utils +import numpy as np +from PIL import Image, ImageDraw +import io +from sklearn.linear_model import LogisticRegression +from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA +from sklearn.metrics import accuracy_score + +inputs = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklnopqrstuvwxyz' +inputs_list = list(ord(x) for x in inputs) +input_filters_dict = {'m_label': inputs_list} +# input_filters_dict={} + +output_feature_list = ['orientation','image'] +dtype = np.float32 + +#if -0.3 whitespace 8 is not enough +#if 0-.2 then whitespace 6 is just enough +character_size = 100 +white_space=6 +skewRange = np.linspace(-0.1,0.1,4) + +''' + pick up the base character via tesseract + + make a training set by shearing them + + save images + + retrieve and unbox with tesseract + + train + + pick up the base characters + encode the secret message n bits at a time into the characters + this is the testing set + + test secret message yielding a vector of rotations + + convert the rotation back into bits + + assemble the bits into the secret message. + ''' + + +# pick up the base characters from training_image_file +# produce some skeared versions +# make into a training set +# place in a ocr_utils TruthedCharacters class so we can use the +# one hot and batch functions + + +def encode_and_save_file(input_base, output_base, character_size, white_space, secret_message=''): + input_image_file_jpg = input_base+ocr_utils.extension + ouput_encoded_file = output_base +ocr_utils.extension + output_box_file = output_base +'_box' +ocr_utils.extension + print ('input_base = {}'.format(input_base)) + print ('input_image_file_jpg = {}'.format(input_image_file_jpg)) + print ('ouput_encoded_file = {}'.format(ouput_encoded_file)) + print ('output_box_file = {}'.format(output_box_file)) + + df,t1 = ocr_utils.file_to_df(input_base, character_size, title = 'unencrypted file', white_space=white_space, input_filters_dict=input_filters_dict) + + from bitarray import bitarray + a = bitarray() + a.fromstring(secret_message) + + index = 0 + + def convert_to_shear(a): + index = 0 + while True: + if index < len(a)-1: + bits = a[index:index+2].to01() + index += 2 + c = int(bits,2) + #c = int(bits) + yield c + else: + yield -1 + + def draw_encoded_images(skews_indices, offset=0): + + for i in range(len(t1)): + left = right = top = bottom = 0 + try: + left = int((df['m_left']).iloc[i]) + right = left + int((df['originalW']).iloc[i]) + top = int((df['m_top']).iloc[i]) +offset + bottom = top + int((df['originalH']).iloc[i]) + skew_index = skews_indices[i] + #print ('i={}, skew_index={}, left={}, top={}, right={}, bottom={}'.format(i,skew_index, left,top,right,bottom)) + + if skew_index >= 0: + z = ocr_utils.shear(t1[i], skewRange[skew_index]) + else: + z=t1[i] + im_clip = Image.fromarray(256.0-z*256.0) + img2.paste(im_clip, box= (left , top)) + img3.paste(im_clip, box= (left , top)) + draw.rectangle((left,top,right+2*white_space,bottom+2*white_space), outline=0) + except: + print (left,right,top,bottom,df.columns) + return bottom + + im = Image.open(input_image_file_jpg) + + + bottom = 0 + if len(secret_message)==0: + img2 = Image.new('L',(im.width,im.height*3),color=255) + img3 = Image.new('L',(im.width,im.height*3),color=255) + draw = ImageDraw.Draw(img3) + for skew_index in range(len(skewRange)): + skew_indices = [] + for i in range(len(t1)): + skew_indices.append(skew_index) + bottom = draw_encoded_images(skew_indices, offset=bottom+16) + else: + img2 = Image.new('L',(im.width,im.height),color=255) + img3 = Image.new('L',(im.width,im.height),color=255) + draw = ImageDraw.Draw(img3) + gen= convert_to_shear(a) + skew_indices = [] + for i in range(len(t1)): + skew_indices.append(next(gen)) + draw_encoded_images(skew_indices, offset=0) + gen.close() + + img2.save(ouput_encoded_file) + img3.save(output_box_file) + + return output_base,skew_indices + + +###################################################################################### +# us the original document as the source of characters to shear and train +###################################################################################### + +base_file= '15-01-01 459_Mont_Lyman' +next_base = '/tmp/plots/'+base_file+'_training' + +# shear the characters +base_file,skew_indices = encode_and_save_file(base_file, next_base , character_size, white_space) + +# use tesseract to make the boxes around each skewed character. +df,t1 = ocr_utils.file_to_df(base_file, character_size,title='Characters to Train',white_space=white_space,input_filters_dict=input_filters_dict) + +ds = ocr_utils.read_df(df,input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = 0, + engine_type='tensorflow', + dtype=dtype) + + + +X_train = ds.train.features[1] +# the characters were written once for each entry in skewrange +# fill in the y_train with the skew_index +y_train = np.zeros(len(X_train), dtype=np.int32) +for i in range(len(X_train)): + y_train[i] = i / (len(X_train)/len(skewRange)) + +print (y_train) +print (y_train.shape) +print (X_train.shape) + +###################################################################################### +# train the characters. The resultant logistic regression is the key to decoded +###################################################################################### + +n_components = 2 +lda = LDA(n_components=n_components) + +X_train_lda = lda.fit_transform(X_train, y_train) + +print('\nLDA components = {}'.format(lda.n_components)) +lr = LogisticRegression() +logistic_fitted = lr.fit(X_train_lda, y_train) + +y_train_pred = logistic_fitted.predict(X_train_lda) + +print('\nLDA Train Accuracy: {:4.6f}, n_components={} coefficients={}'.format(accuracy_score(y_train, y_train_pred),lda.n_components,lr.coef_.shape)) +# print('LDA Test Accuracy: {:4.6f}, n_components={} coefficients={}'.format(accuracy_score(y_test, y_test_pred),lda.n_components,lr.coef_.shape)) + +X_errors_image = X_train[y_train!=y_train_pred] + +X_errors2D=np.reshape(X_errors_image, (X_errors_image.shape[0], character_size, character_size)) +ocr_utils.montage(X_errors2D,title='LDA Error Images, components={}'.format (n_components)) + +# X_combined = np.vstack((X_train_lda, X_test_lda)) + # y_combined = np.hstack((y_train, y_test)) +if X_train_lda.shape[1] > 1: + ocr_utils.plot_decision_regions( + X=X_train_lda, + y=y_train, + classifier=lr, + labels = ['LDA1','LDA2'] , + title='logistic_regression after 2 component LDA') + +###################################################################################### +# now that the font is trained, pick up some text and encode a message +###################################################################################### + +base_file = '15-01-01 459_Mont_Lyman' +output_base = '/tmp/plots/15-01-01 459_Mont_Lyman_encrypted' +base_file,skew_indices = encode_and_save_file(base_file, output_base, character_size, white_space, secret_message='your first born is mine') +print ('base file to decode = {}'.format(base_file)) + + +df,t1 = ocr_utils.file_to_df(base_file, character_size, title = 'Encrypted File',white_space=white_space,input_filters_dict=input_filters_dict) + +ds = ocr_utils.read_df(df,input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = 0, + engine_type='tensorflow', + dtype=dtype) + +print ('document length in chars={}'.format(len(t1))) +X_train = ds.train.features[1] +X_train_lda = lda.transform(X_train) +results = logistic_fitted.predict(X_train_lda) +correct_characters=[] +incorrect_characters=[] +error_characters=[] +decoded_message = '' +dc = 0 + +for i,x in enumerate(df['m_label']): + try: + + if skew_indices[i] >=0: + dc = dc * 4 + skew_indices[i] + if (i+1) % 4 == 0: + decoded_message = decoded_message + chr(dc) + dc = 0 + + + print('index={}, original character={}, result= {}, skew={}'.format(i, chr(int(x)),results[i], skew_indices[i]) ) + if results[i] == skew_indices[i]: + correct_characters.append(chr(int(x))) + else: + incorrect_characters.append(chr(int(x))) + error_characters.append(X_train[i]) + except: + print ('.',end='') +error_characters = np.array(error_characters) + +error_characters=np.reshape(error_characters, (error_characters.shape[0], character_size, character_size)) +ocr_utils.montage(error_characters,title='LDA Encrption Errors, components={}'.format (n_components)) +print ('\ncorrect characters={}'.format(correct_characters)) +print ('incorrect characters={}'.format(incorrect_characters)) +print ("decoded message={}".format(decoded_message)) + +###################################################################################### +# decode the message +###################################################################################### + +print ('\n########################### No Errors ####################################') diff --git a/o3_top_secret_python_box.py b/o3_top_secret_python_box.py new file mode 100644 index 0000000..fec2a36 --- /dev/null +++ b/o3_top_secret_python_box.py @@ -0,0 +1,266 @@ +''' +Created on Oct 23, 2016 + +Created on Jul 12, 2016 +This program shows how Principal Component Analysis removes affine +transformation distortions. + +Parallel lines in an image remain parallel after an affine transformation. +For instance, if an image is rotated or sheared, lines remain parallel. + +PCA and LDA can remove affine transformations. This is shown by making 3 shapes +and then making a number of shear versions of the shapes. Running +Principal Component Analysis reduces the number of features necessary to +recognize the features during Logistic Regression with 100% accuracy, +down to 2 from 400 (20 columns by 20 rows). + +We make three images and then make about 80 copies of each image created by +shearing the original image. + +Since there is very little noise introduced by the shearing, almost all of +the explained variance is due to the shearing. PCA finds eigenvectors +that line up with shearing. + +1) For a couple of shapes, make sheared version. +2) train and print accuracies without PCA +3) repeat, but use PCA first before training. +4) observe the improvement + +Do the same thing for Linear Discriminant Analysis +encode a secret message in the angle of rotation of characters + +Train a neural network on rotated versions of characters with the output of +the network being the angle of rotation. + +Thus, given a rotated character, the neural network will yield a value +that is the amount of rotation of the character. + +Encode a test set by applying a secret message with one bit for each character. +Decode the secret message by running the rotated characters through the +neural network, yielding the pattern of bits. + + pick up the base character + + make a training set by rotating them through n angles + + train + + pick up the base characters + encode the secret message n bits at a time into the characters + this is the testing set + + test secret message yielding a vector of rotations + + convert the rotation back into bits + + assemble the bits into the secret message. + + +@author: richard lyman + + +'''# ============================================================================== + +import ocr_utils + + +import numpy as np +from PIL import Image, ImageDraw +import io +from sklearn.metrics import accuracy_score +from sklearn.decomposition import PCA +from sklearn.metrics import accuracy_score +from sklearn.lda import LDA +from sklearn.linear_model import LogisticRegression +from sklearn.cross_validation import train_test_split + +# input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))} +# output_feature_list = ['orientation_one_hot','image'] +dtype = np.float32 +character_size = 100 +white_space = 10 +skewRange = np.linspace(-0.2,0.2,4) + +class c_box(object): + def __init__(self, top, left, right, bottom): + self._top = top + self._left = left + self._right = right + self._bottom = bottom + + +def find_min_max(sums): + case = 0 + mins = [] + maxes = [] + for i,sum in enumerate(sums): + ''' + case 0, going through area between characters + if sum ==0 stay in case 0 + if sum != 0 set the top to i and switch to case 1 + case 1, going through a character + if sum ==0 set the bottom to i and drop to case 0 + also append the box to the list using + left = 0, and right = the width of the image + if sum !=0 then continue in case 1 + ''' + + if case==0 : + if sum != 0 : + case = 1 + min= i + else: + if sum == 0 : + case = 0 + max= i + mins.append(min) + maxes.append(max) + return mins, maxes + + + +# pick up the base characters from training_image_file +# produce some skeared versions +# make into a training set +# place in a ocr_utils TruthedCharacters class so we can use the +# one hot and batch functions + +im = Image.open('15-01-01 459_Mont_Lyman.png') +#im = Image.open('CourierFont.png') +im = im.convert(mode='L') +data = 255-np.asarray( im, dtype="int32" ) +sums = np.sum(data,axis=1) +mins, maxes = find_min_max(sums) +boxes = [] +for top,bottom in zip(mins,maxes): + line = data[top:bottom] + line_sums = np.sum(line,axis=0) + lefts,rights = find_min_max(line_sums) + for left,right in zip(lefts,rights): + boxes.append(c_box(top,left,right,bottom)) + +images=[] +orientation=[] +recognized_label =[] +for box in boxes: + + img2 = Image.new('L',(character_size,character_size),color=255) + + img = im.crop(box=(box._left, box._top, box._right, box._bottom)) + img2.paste(img,box=(white_space,white_space)) + + imgByteArr = img2.tobytes() + lst = list(imgByteArr) + image = np.array(lst)/255.0 + image = 1.0 - image + images.append(image) + +height = im.height +width = im.width + +t1 = np.array(images) +t1=np.reshape(t1,(t1.shape[0],character_size,character_size)) +ocr_utils.montage(t1, title='characters from file') + +shp = t1.shape +totalN = len(skewRange)*shp[0] +images = [] +import skimage.transform as af + +for j in range(shp[0]): + for i,skew in enumerate(skewRange): + images.append(ocr_utils.shear(t1[j],skew)) + orientation.append(skew) + +images=np.array(images) +ocr_utils.montage(images, title='characters being trained') +images=np.reshape(images,(len(images),character_size*character_size)) +ys = ocr_utils.convert_to_unique(orientation) + + +X_train , X_test, y_train, y_test = train_test_split(images, ys, test_size=0.3, random_state=0) +print (y_test.shape) + +lr = LogisticRegression() +lr.fit(X_train, y_train) +y_train_pred = lr.predict(X_train) +y_test_pred = lr.predict(X_test) + +print('\nTrain Accuracy: {:4.6f} coefficients={}'.format(accuracy_score(y_train, y_train_pred), lr.coef_.shape)) +print('Test Accuracy: {:4.6f} coefficients={}'.format(accuracy_score(y_test, y_test_pred), lr.coef_.shape)) + +######################################################################### +# run Principal Component analysis first, then Logistic Regression + +n_components = 2 +pca = PCA(n_components=n_components) + +X_train_pca = pca.fit_transform(X_train) +X_test_pca = pca.transform(X_test) + +print('\nPCA components = {}'.format(pca.components_.shape)) + +lr = LogisticRegression() +logistic_fitted = lr.fit(X_train_pca, y_train) + +y_train_pred = logistic_fitted.predict(X_train_pca) +y_test_pred = logistic_fitted.predict(X_test_pca) + +print('\nPCA Train Accuracy: {:4.6f}, n_components={} coefficients={}'.format(accuracy_score(y_train, y_train_pred),pca.n_components,lr.coef_.shape)) +print('PCA Test Accuracy: {:4.6f}, n_components={} coefficients={}'.format(accuracy_score(y_test, y_test_pred),pca.n_components,lr.coef_.shape)) + +X_errors_image = X_test[y_test!=y_test_pred] +y_errors = y_test[y_test!=y_test_pred] +X_errors_pca = X_test_pca[y_test!=y_test_pred] + +# change to a 2D shape +X_errors2D=np.reshape(X_errors_image, (X_errors_image.shape[0], character_size, character_size)) +ocr_utils.montage(X_errors2D,title='PCA Error Images, components={}'.format (n_components)) + +X_combined = np.vstack((X_train_pca, X_test_pca)) +y_combined = np.hstack((y_train, y_test)) + +ocr_utils.plot_decision_regions( + X=X_combined, + y=y_combined, + classifier=lr, + labels = ['PC1','PC2'] , + title='logistic_regression after 2 component PCA') + + +######################################################################### +# run Linear Discriminant Analysis first then Logistic Regression + + +n_components = 2 +lda = LDA(n_components=n_components) + +X_train_lda = lda.fit_transform(X_train, y_train) +X_test_lda = lda.transform(X_test) + +print('\nLDA components = {}'.format(pca.components_.shape)) +lr = LogisticRegression() +logistic_fitted = lr.fit(X_train_lda, y_train) + +y_train_pred = logistic_fitted.predict(X_train_lda) +y_test_pred = logistic_fitted.predict(X_test_lda) + +print('\nLDA Train Accuracy: {:4.6f}, n_components={} coefficients={}'.format(accuracy_score(y_train, y_train_pred),lda.n_components,lr.coef_.shape)) +print('LDA Test Accuracy: {:4.6f}, n_components={} coefficients={}'.format(accuracy_score(y_test, y_test_pred),lda.n_components,lr.coef_.shape)) + +X_errors_image = X_test[y_test!=y_test_pred] + +# change to a 2D shape +X_errors2D=np.reshape(X_errors_image, (X_errors_image.shape[0], character_size, character_size)) +ocr_utils.montage(X_errors2D,title='LDA Error Images, components={}'.format (n_components)) + +X_combined = np.vstack((X_train_lda, X_test_lda)) +y_combined = np.hstack((y_train, y_test)) +if X_combined.shape[1] > 1: + ocr_utils.plot_decision_regions( + X=X_combined, + y=y_combined, + classifier=lr, + labels = ['LDA1','LDA2'] , + title='logistic_regression after 2 component LDA') +print ('\n########################### No Errors ####################################') From 2fc9455c3c0405fabc47a691dec0d33da709cf5b Mon Sep 17 00:00:00 2001 From: richard lyman Date: Wed, 25 Oct 2017 15:55:43 -0700 Subject: [PATCH 3/6] Adjust for library updates --- n0_network.py | 4 +- n1_2cnv1fc.py | 15 ++-- n1_2cnv2fc.py | 10 +-- n1_baseTensorNN.py | 14 ++-- n1_image_to_image.py | 50 +++++++++--- n1_residual3x4.py | 8 +- o3_top_secret_python_box.py | 5 +- o4_image_to_image.py | 4 +- p115_l1_l2_regularization.py | 2 +- p119_squential_backward_selection.py | 1 + p141_linear_descriminant_analsys.py | 6 +- p177_k_fold_cross_validation.py | 2 +- p356_neural_net.py | 4 +- p62_logistic_regression.py | 4 +- q3_removing_affine_distortion.py | 2 +- q6_tensorflow_residual3x4.py | 109 +++++++++++++++++++++++++++ q9_tensorflow_gpu_test.py | 6 ++ 17 files changed, 199 insertions(+), 47 deletions(-) create mode 100644 q6_tensorflow_residual3x4.py diff --git a/n0_network.py b/n0_network.py index 29e140b..f3aa381 100644 --- a/n0_network.py +++ b/n0_network.py @@ -30,7 +30,7 @@ def fit(self, truthed_data, nEpochs=5000): summary_str = result[0] self._writer.add_summary(summary_str, i) - train_accuracy = self._accuracy.eval(feed) + train_accuracy = result[1] if train_accuracy <= (1.0 - 1e-5 ): perfect_count=10; else: @@ -39,7 +39,7 @@ def fit(self, truthed_data, nEpochs=5000): break; print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) - self._train_step.run(feed_dict=feed) + self._sess.run(self._train_step,feed_dict=feed) diff --git a/n1_2cnv1fc.py b/n1_2cnv1fc.py index 117fa8d..2b59ac2 100644 --- a/n1_2cnv1fc.py +++ b/n1_2cnv1fc.py @@ -105,7 +105,7 @@ def max_pool_2x2(x): with tf.name_scope("reshape_x_image") as scope: self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) - image_summ = tf.image_summary("x_image", self._x_image) + image_summ = tf.summary.image("x_image", self._x_image) """# ============================================================================== @@ -156,7 +156,9 @@ def max_pool_2x2(x): # append the features, the 2nd on, that go directly to the fully connected layer for i in range(2,truthed_features.num_features ): - h_pool2_flat = tf.concat(1, [h_pool2_flat, self._ph[i]]) + print(i) + print(self._ph[i]) + h_pool2_flat = tf.concat([h_pool2_flat, self._ph[i]],1) h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1) """# ============================================================================== @@ -184,7 +186,7 @@ def max_pool_2x2(x): # 1e-8 added to eliminate the crash of training when taking log of 0 cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + ce_summ = tf.summary.scalar("cross entropy", cross_entropy) with tf.name_scope("train") as scope: self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) @@ -194,7 +196,8 @@ def max_pool_2x2(x): self._prediction = tf.argmax(y_conv,1) self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) - accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + accuracy_summary = tf.summary.scalar("accuracy", self._accuracy) + weight_summary = tf.summary.histogram("weights", W_fc2) """# ============================================================================== Start TensorFlow Interactive Session @@ -202,13 +205,13 @@ def max_pool_2x2(x): """# ============================================================================== self._sess.run(tf.initialize_all_variables()) - self._merged = tf.merge_all_summaries() + self._merged = tf.summary.merge_all() tm = "" tp = datetime.datetime.now().timetuple() for i in range(4): tm += str(tp[i])+'-' tm += str(tp[4]) - self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + self._writer = tf.summary.FileWriter("/tmp/ds_logs/"+ tm, self._sess.graph) def computeSize(s,tens): sumC = 1 diff --git a/n1_2cnv2fc.py b/n1_2cnv2fc.py index 831b904..8865bb4 100644 --- a/n1_2cnv2fc.py +++ b/n1_2cnv2fc.py @@ -107,7 +107,7 @@ def max_pool_2x2(x): with tf.name_scope("reshape_x_image") as scope: self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) - image_summ = tf.image_summary("x_image", self._x_image) + image_summ = tf.summary.image("x_image", self._x_image) """# ============================================================================== @@ -219,7 +219,7 @@ def max_pool_2x2(x): # 1e-8 added to eliminate the crash of training when taking log of 0 cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + ce_summ = tf.summary.scalar("cross entropy", cross_entropy) with tf.name_scope("train") as scope: self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) @@ -229,7 +229,7 @@ def max_pool_2x2(x): self._prediction = tf.argmax(y_conv,1) self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) - accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + accuracy_summary = tf.summary.scalar("accuracy", self._accuracy) """# ============================================================================== Start TensorFlow Interactive Session @@ -237,13 +237,13 @@ def max_pool_2x2(x): """# ============================================================================== self._sess.run(tf.initialize_all_variables()) - self._merged = tf.merge_all_summaries() + self._merged = tf.summary.merge_all() tm = "" tp = datetime.datetime.now().timetuple() for i in range(4): tm += str(tp[i])+'-' tm += str(tp[4]) - self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + self._writer = tf.summary.FileWriter("/tmp/ds_logs/"+ tm, self._sess.graph) def computeSize(s,tens): sumC = 1 diff --git a/n1_baseTensorNN.py b/n1_baseTensorNN.py index 62353db..7870c5e 100644 --- a/n1_baseTensorNN.py +++ b/n1_baseTensorNN.py @@ -141,11 +141,11 @@ def max_pool_2x2(x): with tf.name_scope("xent") as scope: # 1e-8 added to eliminate the crash of training when taking log of 0 - cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + self._cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) + ce_summ = tf.scalar_summary("cross entropy", self._cross_entropy) with tf.name_scope("train") as scope: - self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(self._cross_entropy) with tf.name_scope("test") as scope: self._correct_prediction = tf.equal(tf.argmax(y_conv,1), tf.argmax(self._ph[0],1)) @@ -155,10 +155,10 @@ def max_pool_2x2(x): accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) """# ============================================================================== - Start TensorFlow Interactive Session + Start TensorFlow Session """# ============================================================================== - self._sess = tf.InteractiveSession() + self._sess = tf.Session() self._sess.run(tf.initialize_all_variables()) self._merged = tf.merge_all_summaries() tm = "" @@ -215,7 +215,7 @@ def fit(self, truthed_data, nEpochs=5000): summary_str = result[0] #acc = result[1] self._writer.add_summary(summary_str, i) - train_accuracy = self._accuracy.eval(feed) + train_accuracy = result[1] if train_accuracy <= (1.0 - 1e-5 ): perfect_count=10; else: @@ -224,7 +224,7 @@ def fit(self, truthed_data, nEpochs=5000): break; print ("step %d, training accuracy %g"%(i, train_accuracy),flush=True) - self._train_step.run(feed_dict=feed) + self._sess.run(self._train_step.run,feed_dict=feed) diff --git a/n1_image_to_image.py b/n1_image_to_image.py index 6ba2b08..e6b86c4 100644 --- a/n1_image_to_image.py +++ b/n1_image_to_image.py @@ -107,7 +107,7 @@ def max_pool_2x2(x): with tf.name_scope("reshape_x_image") as scope: self._x_image = tf.reshape(self._ph.image, [-1,self._nCols,self._nRows,1]) - image_summ = tf.image_summary("x_image", self._x_image) + image_summ = tf.summary.image("x_image", self._x_image) """# ============================================================================== @@ -218,18 +218,18 @@ def max_pool_2x2(x): with tf.name_scope("xent") as scope: # 1e-8 added to eliminate the crash of training when taking log of 0 - cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) + self._cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+ 1e-8 )) #cross_entropy = tf.nn.sparse_softmax_cross_entropy_with_logits( # logits, labels, name='xentropy') - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + ce_summ = tf.summary.scalar("cross entropy", self._cross_entropy) with tf.name_scope("reshape_x_image2") as scope: self._x_image2 = tf.reshape(self._ph[0], [-1,int(self._nCols/2),int(self._nRows/2),1]) - image_summ2 = tf.image_summary("x_image2", self._x_image2) + image_summ2 = tf.summary.image("x_image2", self._x_image2) with tf.name_scope("train") as scope: - self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) + self._train_step = tf.train.AdamOptimizer(1e-4).minimize(self._cross_entropy) #self._train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy) with tf.name_scope("test") as scope: @@ -237,21 +237,21 @@ def max_pool_2x2(x): self._prediction = tf.argmax(y_conv,1) self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) - accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + accuracy_summary = tf.summary.scalar("accuracy", self._accuracy) """# ============================================================================== - Start TensorFlow Interactive Session + Start TensorFlow Session """# ============================================================================== self._sess.run(tf.initialize_all_variables()) - self._merged = tf.merge_all_summaries() + self._merged = tf.summary.merge_all() tm = "" tp = datetime.datetime.now().timetuple() for i in range(4): tm += str(tp[i])+'-' tm += str(tp[4]) - self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + self._writer = tf.summary.FileWriter("/tmp/ds_logs/"+ tm, self._sess.graph) def computeSize(s,tens): sumC = 1 @@ -319,4 +319,36 @@ def test2(self, truthed_data, title = ''): ocr_utils.montage(output_images,title='TensorFlow Output Images') ocr_utils.montage(input_images,title='TensorFlow Input Images') + def fit_entropy(self, truthed_data, nEpochs=5000): + + perfect_count=10 + for i in range(nEpochs): + + batch = truthed_data.next_batch(100) + # assign feature data to each placeholder + # the batch list is returned in the same order as the features requested + feed = {self._keep_prob: 0.5} + for j in range(truthed_data.num_features): + feed[self._ph[j]] = batch[j] + + if i%100 == 0: + + feed[self._keep_prob] = 1.0 + result = self._sess.run([self._merged, self._cross_entropy ], feed_dict=feed) + summary_str = result[0] + + self._writer.add_summary(summary_str, i) + train_entropy = result[1] + if train_entropy >= (2000 ): + perfect_count=10; + else: + perfect_count -= 1 + if perfect_count==0: + break; + + print ("step %d, training entropy %g"%(i, train_entropy),flush=True) + self._sess.run(self._train_step,feed_dict=feed) + + + \ No newline at end of file diff --git a/n1_residual3x4.py b/n1_residual3x4.py index b274714..12569f3 100644 --- a/n1_residual3x4.py +++ b/n1_residual3x4.py @@ -169,7 +169,7 @@ def computeSize(s,tens): with tf.name_scope("xent") as scope: # 1e-8 added to eliminate the crash of training when taking log of 0 cross_entropy = -tf.reduce_sum(self._ph[0]*tf.log(y_conv+1e-8)) - ce_summ = tf.scalar_summary("cross entropy", cross_entropy) + ce_summ = tf.summary.scalar("cross entropy", cross_entropy) with tf.name_scope("train") as scope: self._train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy) @@ -179,7 +179,7 @@ def computeSize(s,tens): self._prediction = tf.argmax(y_conv,1) self._accuracy = tf.reduce_mean(tf.cast(self._correct_prediction, dtype)) - accuracy_summary = tf.scalar_summary("accuracy", self._accuracy) + accuracy_summary = tf.summary.scalar("accuracy", self._accuracy) """# ============================================================================== @@ -188,7 +188,7 @@ def computeSize(s,tens): """# ============================================================================== self._sess.run(tf.initialize_all_variables()) - self._merged = tf.merge_all_summaries() + self._merged = tf.summary.merge_all() tm = "" tp = datetime.datetime.now().timetuple() for i in range(4): @@ -200,7 +200,7 @@ def computeSize(s,tens): # tensorboard --logdir '/tmp/ds_logs/' # See results on localhost:6006 - self._writer = tf.train.SummaryWriter("/tmp/ds_logs/"+ tm, self._sess.graph) + self._writer = tf.summary.FileWriter("/tmp/ds_logs/"+ tm, self._sess.graph) def computeSize(s,tens): sumC = 1 diff --git a/o3_top_secret_python_box.py b/o3_top_secret_python_box.py index fec2a36..bffc071 100644 --- a/o3_top_secret_python_box.py +++ b/o3_top_secret_python_box.py @@ -70,7 +70,8 @@ from sklearn.metrics import accuracy_score from sklearn.decomposition import PCA from sklearn.metrics import accuracy_score -from sklearn.lda import LDA +#from sklearn.model_selection +from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.linear_model import LogisticRegression from sklearn.cross_validation import train_test_split @@ -233,7 +234,7 @@ def find_min_max(sums): n_components = 2 -lda = LDA(n_components=n_components) +lda = LinearDiscriminantAnalysis(n_components=n_components) X_train_lda = lda.fit_transform(X_train, y_train) X_test_lda = lda.transform(X_test) diff --git a/o4_image_to_image.py b/o4_image_to_image.py index e438f7d..d54a19e 100644 --- a/o4_image_to_image.py +++ b/o4_image_to_image.py @@ -68,7 +68,7 @@ #output_feature_list = ['font_one_hot','image','italic','aspect_ratio','upper_case'] # train the digits 0-9 for all fonts - input_filters_dict = {'m_label': range(48,58),'italic':0,'strength':.4} + input_filters_dict = {'m_label': [43]+list(range(48,58)),'italic':0,'strength':.4} #input_filters_dict = {'font':'BANKGOTHIC','m_label': list(range(48,58)),'italic':0,'strength':.7} #input_filters_dict = {} output_feature_list = ['low_pass_image','image'] @@ -83,7 +83,7 @@ test_size = .2, engine_type='tensorflow',dtype=dtype) nn = nnetwork.network(ds.train) - nn.fit( ds.train, nEpochs=5000) + nn.fit_entropy( ds.train, nEpochs=5000) nn.test2(ds.test) # train_a_font(input_filters_dict, output_feature_list, nEpochs = 50000) diff --git a/p115_l1_l2_regularization.py b/p115_l1_l2_regularization.py index c685ecd..ff90e48 100644 --- a/p115_l1_l2_regularization.py +++ b/p115_l1_l2_regularization.py @@ -100,7 +100,7 @@ def weight_graph(regularization = 'l1'): weights, params = [], [] - for c in np.arange(-4, 6): + for c in np.arange(0, 6): lr = LogisticRegression(penalty=regularization, C=10**c, random_state=0) lr.fit(X_train_std, y_train) weights.append(lr.coef_[1]) diff --git a/p119_squential_backward_selection.py b/p119_squential_backward_selection.py index 3043008..2143d7c 100644 --- a/p119_squential_backward_selection.py +++ b/p119_squential_backward_selection.py @@ -80,6 +80,7 @@ def __init__(self, estimator, k_features, self.k_features = k_features self.test_size = test_size self.random_state = random_state + def fit(self, X, y): X_train, X_test, y_train, y_test = \ train_test_split(X, y, test_size=self.test_size, diff --git a/p141_linear_descriminant_analsys.py b/p141_linear_descriminant_analsys.py index a43faf6..3e87962 100644 --- a/p141_linear_descriminant_analsys.py +++ b/p141_linear_descriminant_analsys.py @@ -57,8 +57,8 @@ import numpy as np import ocr_utils import matplotlib.pyplot as plt -from sklearn.lda import LDA - +#from sklearn.lda import LDA +from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA print_limit = 20 chars_to_train = range(48,58) columnsXY=range(0,20) @@ -115,7 +115,7 @@ print('Within-class scatter matrix: {}x{}'.format(S_W.shape[0], S_W.shape[1])) print('Class label distribution: %s' - % np.bincount(np.array(y_train,dtype='int32'))[min(y_train):]) + % np.bincount(np.array(y_train,dtype='int32'))[int(min(y_train)):]) d = S_W.shape[1] # number of features S_W = np.zeros((d, d)) diff --git a/p177_k_fold_cross_validation.py b/p177_k_fold_cross_validation.py index ca4eba0..c6bf4b5 100644 --- a/p177_k_fold_cross_validation.py +++ b/p177_k_fold_cross_validation.py @@ -49,7 +49,7 @@ import matplotlib.pyplot as plt import numpy as np from sklearn.cross_validation import StratifiedKFold -from sklearn.lda import LDA +from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA if __name__ == '__main__': #charsToTrain=range(48,58) diff --git a/p356_neural_net.py b/p356_neural_net.py index b034f82..b503870 100644 --- a/p356_neural_net.py +++ b/p356_neural_net.py @@ -178,7 +178,7 @@ def _encode_labels(self, y, k): """ onehot = np.zeros((k, y.shape[0])) for idx, val in enumerate(y): - onehot[val, idx] = 1.0 + onehot[int(val), idx] = 1.0 return onehot def _initialize_weights(self): @@ -587,7 +587,7 @@ def _encode_labels(self, y, k): """ onehot = np.zeros((k, y.shape[0])) for idx, val in enumerate(y): - onehot[val, idx] = 1.0 + onehot[int(val), idx] = 1.0 return onehot def _initialize_weights(self): diff --git a/p62_logistic_regression.py b/p62_logistic_regression.py index b105ba6..e92e491 100644 --- a/p62_logistic_regression.py +++ b/p62_logistic_regression.py @@ -122,7 +122,7 @@ def cost_0(z): weights, params = [], [] -for c in np.arange(-5, 5): +for c in np.arange(0, 5): lr = LogisticRegression(C=10**c, random_state=0) lr.fit(X_train_std, y_train) weights.append(lr.coef_[0]) @@ -131,7 +131,7 @@ def cost_0(z): title = 'regression_path' weights, params = [], [] -for c in np.arange(-5, 5): +for c in np.arange(0, 5): lr = LogisticRegression(C=10**c, random_state=0) lr.fit(X_train_std, y_train) weights.append(lr.coef_[1]) diff --git a/q3_removing_affine_distortion.py b/q3_removing_affine_distortion.py index e46baab..85d5f37 100644 --- a/q3_removing_affine_distortion.py +++ b/q3_removing_affine_distortion.py @@ -146,7 +146,7 @@ def shear(X, skew): ######################################################################### # run Linear Discriminant Analysis first then Logistic Regression -from sklearn.lda import LDA +from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA n_components = 2 lda = LDA(n_components=n_components) diff --git a/q6_tensorflow_residual3x4.py b/q6_tensorflow_residual3x4.py new file mode 100644 index 0000000..951ff47 --- /dev/null +++ b/q6_tensorflow_residual3x4.py @@ -0,0 +1,109 @@ +"""# ========================================================================== + +# Copyright 2015 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============================================================================== + +This sample program is a modified version of the Google mnist convolutional +network tutorial example. See the mnist tutorial in www.tensorflow.org + +This graph has multiple sections 3 layers each, 400 100 400 followed +by a fully connected layer. + +see tensor_flow_graph.png +"""# ============================================================================== +import ocr_utils +import datetime +from collections import namedtuple +import numpy as np +import pandas as pd +import n1_residual3x4 as nnetwork +import tensorflow as tf +dtype = np.float32 +#with tf.device('/GPU:0'): +#with tf.device('/cpu:0'): + + +if True: + # single font train + + # examples + # select only images from 'OCRB' scanned font + # input_filters_dict = {'font': ('OCRA',)} + + # select only images from 'HANDPRINT' font + #input_filters_dict = {'font': ('HANDPRINT',)} + + # select only images from 'OCRA' and 'OCRB' fonts with the 'scanned" fontVariant + # input_filters_dict = {'font': ('OCRA','OCRB'), 'fontVariant':('scanned',)} + + # select everything; all fonts , font variants, etc. + # input_filters_dict = {} + + # select the digits 0 through 9 in the E13B font + # input_filters_dict = {'m_label': range(48,58), 'font': 'E13B'} + + # select the digits 0 and 2in the E13B font + # input_filters_dict = {'m_label': (48,50), 'font': 'E13B'} + + # output the character label, image, italic flag, aspect_ratio and upper_case flag + # output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case'] + + # output only the character label and the image + # output_feature_list = ['m_label_one_hot','image'] + + # identify the font given the input images + #output_feature_list = ['font_one_hot','image','italic','aspect_ratio','upper_case'] + + # train the digits 0-9 for all fonts + #input_filters_dict = {'m_label': range(48,58)} + input_filters_dict = {'font':'ARIAL','m_label': list(range(48,58))+list(range(65,91))+list(range(97,123))} + #input_filters_dict = {} + output_feature_list = ['m_label_one_hot','image'] + + """# ============================================================================== + + Train and Evaluate the Model + + """# ============================================================================== + ds = ocr_utils.read_data(input_filters_dict = input_filters_dict, + output_feature_list=output_feature_list, + test_size = .1, + engine_type='tensorflow',dtype=dtype) + nn = nnetwork.network(ds.train) + nn.fit( ds.train, nEpochs=5000) + nn.test(ds.test) + +# train_a_font(input_filters_dict, output_feature_list, nEpochs = 50000) + +else: + # loop through all the fonts and train individually + + # pick up the entire list of fonts and font variants. Train each one. + df1 = ocr_utils.get_list(input_filters_dict={'font': ()}) + + import pprint as pprint + pp = pprint.PrettyPrinter(indent=4) + pp.pprint(df1) + + output_feature_list = ['m_label_one_hot','image','italic','aspect_ratio','upper_case','font_one_hot'] + + # Change nEpochs to 5000 for better results + for l in df1: + input_filters_dict= {'font': (l[0],)} + train_a_font(input_filters_dict,output_feature_list, nEpochs = 500) + + +print ('\n########################### No Errors ####################################') + diff --git a/q9_tensorflow_gpu_test.py b/q9_tensorflow_gpu_test.py index c2fbd2f..84a255b 100644 --- a/q9_tensorflow_gpu_test.py +++ b/q9_tensorflow_gpu_test.py @@ -1,11 +1,17 @@ # Creates a graph. import tensorflow as tf + + a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b') c = tf.matmul(a, b) # Creates a session with log_device_placement set to True. sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) # Runs the op. + +tens1 = tf.constant([ [[1,2],[2,3]], [[3,4],[5,6]] ]) +print (sess.run(tens1)[1,1,0]) + print (sess.run(c)) print ('\n########################### No Errors ####################################') \ No newline at end of file From 1ebc7f59ae01897d3cb516e87d308a4ef0022299 Mon Sep 17 00:00:00 2001 From: richard lyman Date: Thu, 17 Jan 2019 09:57:15 -0800 Subject: [PATCH 4/6] initial commit --- license.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 license.txt diff --git a/license.txt b/license.txt new file mode 100644 index 0000000..4219ba5 --- /dev/null +++ b/license.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Richard Ricker Lyman + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file From 9fc5ae344d6efc9a8582ad130dedb5a4e1dda13e Mon Sep 17 00:00:00 2001 From: richard lyman Date: Sun, 7 Feb 2021 14:45:13 -0800 Subject: [PATCH 5/6] Change to TenorFlow 2 from version 1 Adjust to changes in sklearn, theano, keras --- n0_network.py | 4 +- n1_2cnv1fc.py | 7 ++- n1_2cnv2fc.py | 6 ++- n1_baseTensorNN.py | 4 +- n1_image_to_image.py | 5 +- n1_residual3x4.py | 6 +-- o1_top_secret_cnn.py | 12 +++-- o2_top_secret_lda-tesseract.py | 4 +- o3_top_secret_python_box.py | 2 +- o4_image_to_image.py | 2 +- ocr_utils.py | 11 +++-- p115_l1_l2_regularization.py | 6 +-- p119_squential_backward_selection.py | 2 +- p131_principal_component_analysis.py | 6 +-- p141_linear_descriminant_analsys.py | 13 ++--- p154_pca_nonlinear_mapings.py | 5 +- p177_k_fold_cross_validation.py | 47 +++++++++--------- p181_learning_curves.py | 6 +-- p186_grid_search.py | 2 +- p189_nested_cross_validation.py | 4 +- p193_model_precision_recall.py | 4 +- p194_receiver_operating_characteristic.py | 58 +++++++++++++++-------- p206_majority_vote_classifier.py | 23 +++++---- p221_bagging_bootstrap_samples.py | 2 +- p229_adaboost.py | 2 +- p411_keras.py | 11 ++--- p51_standard_scalar.py | 5 +- p62_logistic_regression.py | 8 ++-- p73_support_vector_machine.py | 1 + q2_tensorflow_mnist.py | 3 +- q3_removing_affine_distortion.py | 4 +- q4_Theano_mlp.py | 1 + q6_tensorflow_residual3x4.py | 2 +- q8_tika.py | 1 + q9_tensorflow_gpu_test.py | 19 +++++--- 35 files changed, 171 insertions(+), 127 deletions(-) diff --git a/n0_network.py b/n0_network.py index f3aa381..c37a1bd 100644 --- a/n0_network.py +++ b/n0_network.py @@ -1,4 +1,6 @@ -import tensorflow as tf +#import tensorflow as tf +from tensorflow.compat import v1 as tf +tf.compat.v1.disable_eager_execution() import numpy as np from collections import namedtuple import datetime diff --git a/n1_2cnv1fc.py b/n1_2cnv1fc.py index 2b59ac2..845b6eb 100644 --- a/n1_2cnv1fc.py +++ b/n1_2cnv1fc.py @@ -1,4 +1,6 @@ -import tensorflow as tf +#import tensorflow as tf +from tensorflow.compat import v1 as tf +tf.compat.v1.disable_eager_execution() import numpy as np from collections import namedtuple import datetime @@ -43,6 +45,7 @@ def __init__(self, truthed_features, dtype=np.float32): nm = 'x_'+nm if i>1: extra_features_width += truthed_features.feature_width[i] + lst.append(tf.placeholder(dtype, shape=[None, truthed_features.feature_width[i]], name=nm)) # ph is a named tuple with key names like 'image', 'm_label', and values that @@ -218,7 +221,7 @@ def computeSize(s,tens): tShape = tens.get_shape() nDims = len(tShape) for i in range(nDims): - sumC *= tShape[i].value + sumC *= tShape[i] print ('\t{}\t{}'.format(s,sumC),flush=True) return sumC diff --git a/n1_2cnv2fc.py b/n1_2cnv2fc.py index 8865bb4..4e32471 100644 --- a/n1_2cnv2fc.py +++ b/n1_2cnv2fc.py @@ -1,4 +1,6 @@ -import tensorflow as tf +#import tensorflow as tf +from tensorflow.compat import v1 as tf +tf.compat.v1.disable_eager_execution() import numpy as np from collections import namedtuple import datetime @@ -250,7 +252,7 @@ def computeSize(s,tens): tShape = tens.get_shape() nDims = len(tShape) for i in range(nDims): - sumC *= tShape[i].value + sumC *= tShape[i] print ('\t{}\t{}'.format(s,sumC),flush=True) return sumC diff --git a/n1_baseTensorNN.py b/n1_baseTensorNN.py index 7870c5e..22a90e6 100644 --- a/n1_baseTensorNN.py +++ b/n1_baseTensorNN.py @@ -1,4 +1,6 @@ -import tensorflow as tf +from tensorflow.compat import v1 as tf +tf.compat.v1.disable_eager_execution() +#import tf import numpy as np from collections import namedtuple import datetime diff --git a/n1_image_to_image.py b/n1_image_to_image.py index e6b86c4..f391548 100644 --- a/n1_image_to_image.py +++ b/n1_image_to_image.py @@ -1,4 +1,5 @@ -import tensorflow as tf +from tensorflow.compat import v1 as tf +#import tf import numpy as np from collections import namedtuple import datetime @@ -258,7 +259,7 @@ def computeSize(s,tens): tShape = tens.get_shape() nDims = len(tShape) for i in range(nDims): - sumC *= tShape[i].value + sumC *= tShape[i] print ('\t{}\t{}'.format(s,sumC),flush=True) return sumC diff --git a/n1_residual3x4.py b/n1_residual3x4.py index 12569f3..3bf1cc6 100644 --- a/n1_residual3x4.py +++ b/n1_residual3x4.py @@ -7,7 +7,7 @@ ''' -import tensorflow as tf +from tensorflow.compat import v1 as tf import numpy as np from collections import namedtuple import datetime @@ -91,7 +91,7 @@ def bias_variable(shape, dtype): return tf.Variable(initial) def shapeOuts(n): - print ('n={}, hin={},w={}, b={} ,hout={}\n'.format(n, h[n]._shape, w[n]._variable._shape, b[n]._variable._shape, h[n+1]._shape)) + print ('n={}, hin={},w={}, b={} ,hout={}\n'.format(n, h[n].shape, w[n].shape, b[n].shape, h[n+1]._shape)) def section(n): with tf.name_scope('section_'+str(n)+'_0') as scope: @@ -122,7 +122,7 @@ def computeSize(s,tens): tShape = tens.get_shape() nDims = len(tShape) for i in range(nDims): - sumC *= tShape[i].value + sumC *= tShape[i] print ('\t{}\t{}'.format(s,sumC),flush=True) return sumC diff --git a/o1_top_secret_cnn.py b/o1_top_secret_cnn.py index 86e931a..afe5e5a 100644 --- a/o1_top_secret_cnn.py +++ b/o1_top_secret_cnn.py @@ -44,6 +44,10 @@ #import n1_2cnv1fc as nnetwork #import n1_residual3x4 as nnetwork import n1_2cnv2fc as nnetwork +import skimage.transform as af +from bitarray import bitarray + + input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))} output_feature_list = ['orientation_one_hot','image'] dtype = np.float32 @@ -70,7 +74,7 @@ # pick up the base characters from training_image_file -# produce some skeared versions +# produce some sheared versions # make into a training set # place in a ocr_utils TruthedCharacters class so we can use the # one hot and batch functions @@ -94,7 +98,7 @@ orientation=[] recognized_label =[] -import skimage.transform as af + for j in range(shp[0]): for i,skew in enumerate(skewRange): @@ -141,10 +145,10 @@ image_file_jpg = image_file+'.jpg' df,t1 = ocr_utils.file_to_df(image_file,character_size, title = 'unencrypted file',white_space=white_space) -from bitarray import bitarray + secret_message = "top secret" a = bitarray() -a.fromstring(secret_message) +a.frombytes(secret_message.encode('utf_8')) index = 0 encoded_skews=[] diff --git a/o2_top_secret_lda-tesseract.py b/o2_top_secret_lda-tesseract.py index 899c6ad..b7dcc36 100644 --- a/o2_top_secret_lda-tesseract.py +++ b/o2_top_secret_lda-tesseract.py @@ -12,6 +12,7 @@ from sklearn.linear_model import LogisticRegression from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA from sklearn.metrics import accuracy_score +from ruamel_yaml.compat import utf8 inputs = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghiklnopqrstuvwxyz' inputs_list = list(ord(x) for x in inputs) @@ -70,8 +71,7 @@ def encode_and_save_file(input_base, output_base, character_size, white_space, s from bitarray import bitarray a = bitarray() - a.fromstring(secret_message) - + a.frombytes(secret_message.encode('utf-8') ) index = 0 def convert_to_shear(a): diff --git a/o3_top_secret_python_box.py b/o3_top_secret_python_box.py index bffc071..c330dd1 100644 --- a/o3_top_secret_python_box.py +++ b/o3_top_secret_python_box.py @@ -73,7 +73,7 @@ #from sklearn.model_selection from sklearn.discriminant_analysis import LinearDiscriminantAnalysis from sklearn.linear_model import LogisticRegression -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split # input_filters_dict = {'m_label': list(range(48,58))+list(range(65,91))} # output_feature_list = ['orientation_one_hot','image'] diff --git a/o4_image_to_image.py b/o4_image_to_image.py index d54a19e..5cce174 100644 --- a/o4_image_to_image.py +++ b/o4_image_to_image.py @@ -30,7 +30,7 @@ import pandas as pd import n1_image_to_image as nnetwork #import n1_residual3x4 as nnetwork -import tensorflow as tf +from tensorflow.compat import v1 as tf dtype = np.float32 #with tf.device('/GPU:0'): #with tf.device('/cpu:0'): diff --git a/ocr_utils.py b/ocr_utils.py index 2791558..a130fe9 100644 --- a/ocr_utils.py +++ b/ocr_utils.py @@ -38,7 +38,8 @@ import numpy as np import pandas as pd import math -from pandas.io.common import ZipFile +#from pandas.io.common import ZipFile +from zipfile import ZipFile from matplotlib.colors import ListedColormap import matplotlib.pyplot as plt import sys @@ -1064,9 +1065,13 @@ def plot_decision_regions(X=None, y=None, classifier=None, resolution = .005, te plt.ylim(xx2.min()-d, xx2.max()+d) # plot class samples + for idx, cl in enumerate(np.unique(y)): - plt.scatter(X[y == cl, 0], X[y == cl, 1], - alpha=0.8, c=cmap(idx), + xs = X[y == cl, 0] + ys = X[y == cl, 1] + c =cmap(idx) + plt.scatter(xs, ys, + alpha=0.8, color=c, marker=markers[idx%len(markers)], label=cl) # highlight test samples diff --git a/p115_l1_l2_regularization.py b/p115_l1_l2_regularization.py index ff90e48..690ae2f 100644 --- a/p115_l1_l2_regularization.py +++ b/p115_l1_l2_regularization.py @@ -69,7 +69,7 @@ from sklearn.linear_model import LogisticRegression -lr = LogisticRegression(penalty='l1', C=0.1, random_state=0) +lr = LogisticRegression(penalty='l1', C=0.1, random_state=0, solver='liblinear',multi_class='auto') lr.fit(X_train_std, y_train) print('Training accuracy-l1 regularization:', lr.score(X_train_std, y_train)) print('Test accuracy-l1 regularization:', lr.score(X_test_std, y_test)) @@ -79,7 +79,7 @@ print('\t{}'.format(lr.coef_)) -lr = LogisticRegression(penalty='l2', C=0.1, random_state=0) +lr = LogisticRegression(penalty='l2', C=0.1, random_state=0, solver='liblinear',multi_class='auto') lr.fit(X_train_std, y_train) print('Training accuracy-l2 regularization:', lr.score(X_train_std, y_train)) print('Test accuracy-l2 regularization:', lr.score(X_test_std, y_test)) @@ -101,7 +101,7 @@ def weight_graph(regularization = 'l1'): weights, params = [], [] for c in np.arange(0, 6): - lr = LogisticRegression(penalty=regularization, C=10**c, random_state=0) + lr = LogisticRegression(penalty=regularization, C=10**c, random_state=0, solver='liblinear',multi_class='auto') lr.fit(X_train_std, y_train) weights.append(lr.coef_[1]) params.append(10**c) diff --git a/p119_squential_backward_selection.py b/p119_squential_backward_selection.py index 2143d7c..d226961 100644 --- a/p119_squential_backward_selection.py +++ b/p119_squential_backward_selection.py @@ -49,7 +49,7 @@ y, X, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = (48,49,50) , columns=range(0,20), nChars=1000, random_state=0) -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split( X, y, test_size=0.3, random_state=0) diff --git a/p131_principal_component_analysis.py b/p131_principal_component_analysis.py index 8a379b5..c4b8a00 100644 --- a/p131_principal_component_analysis.py +++ b/p131_principal_component_analysis.py @@ -130,7 +130,7 @@ X_train_pca = pca.fit_transform(X_train_image) X_test_pca = pca.transform(X_test_image) -lr = LogisticRegression() +lr = LogisticRegression(solver='liblinear',multi_class='auto') logistic_fitted =lr.fit(X_train_pca, y_train) print('\nPCA Train Accuracy: {:4.6f}, n_components={}'.format(accuracy_score(y_train, logistic_fitted.predict(X_train_pca)),pca.n_components)) @@ -149,7 +149,7 @@ X_train_pca = pca.fit_transform(X_train_image) X_test_pca = pca.transform(X_test_image) -lr = LogisticRegression() +lr = LogisticRegression(solver='liblinear',multi_class='auto') logistic_fitted = lr.fit(X_train_pca, y_train) y_train_pred = logistic_fitted.predict(X_train_pca) @@ -191,7 +191,7 @@ X_train_pca = pca.fit_transform(X_train_image) X_test_pca = pca.transform(X_test_image) -lr = LogisticRegression() +lr = LogisticRegression(solver='liblinear',multi_class='auto') logistic_fitted=lr.fit(X_train_pca, y_train) y_train_pred = logistic_fitted.predict(X_train_pca) y_test_pred = logistic_fitted.predict(X_test_pca) diff --git a/p141_linear_descriminant_analsys.py b/p141_linear_descriminant_analsys.py index 3e87962..1d50af8 100644 --- a/p141_linear_descriminant_analsys.py +++ b/p141_linear_descriminant_analsys.py @@ -61,6 +61,7 @@ from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA print_limit = 20 chars_to_train = range(48,58) +n_classes = len(chars_to_train) columnsXY=range(0,20) column_str = 'column_sum{}'.format(list(columnsXY)) @@ -107,7 +108,7 @@ S_W = np.zeros((d, d)) for label, mv in zip(unique_labels, mean_vecs): class_scatter = np.zeros((d, d)) - for row in X_train_std[[y_train == label]]: + for row in X_train_std[y_train == label]: row, mv = row.reshape(d, 1), mv.reshape(d, 1) class_scatter += (row-mv).dot((row-mv).T) S_W += class_scatter @@ -195,7 +196,7 @@ X_test_lda = lda.transform(X_test_std) from sklearn.linear_model import LogisticRegression -lr = LogisticRegression() +lr = LogisticRegression(solver='liblinear', multi_class='auto') lr = lr.fit(X_train_lda, y_train) title = 'Linear Descriminant Analysis Training Set' @@ -208,13 +209,13 @@ ############################################################################### n_components = 10 -lda = LDA(n_components=n_components) +lda = LDA(n_components=min(n_components,n_classes-1)) X_train_lda = lda.fit_transform(X_train_std, y_train) X_test_lda = lda.transform(X_test_std) print ('n_components={}'.format(lda.n_components)) -lr = LogisticRegression() +lr = LogisticRegression(solver='liblinear', multi_class='auto') logistic_fitted = lr.fit(X_train_lda, y_train) from sklearn.metrics import accuracy_score @@ -233,13 +234,13 @@ ############################################################################### n_components = 10 -lda = LDA(n_components=n_components, solver='eigen') +lda = LDA(n_components=n_components-1, solver='eigen') X_train_lda = lda.fit_transform(X_train_std, y_train) X_test_lda = lda.transform(X_test_std) print ('n_components={}'.format(lda.n_components)) -lr = LogisticRegression() +lr = LogisticRegression(solver='liblinear', multi_class='auto') logistic_fitted = lr.fit(X_train_lda, y_train) from sklearn.metrics import accuracy_score diff --git a/p154_pca_nonlinear_mapings.py b/p154_pca_nonlinear_mapings.py index c7da287..3d92e9d 100644 --- a/p154_pca_nonlinear_mapings.py +++ b/p154_pca_nonlinear_mapings.py @@ -83,8 +83,7 @@ def rbf_kernel_pca1(X, gamma, n_components): eigvals, eigvecs = eigh(K) # Collect the top k eigenvectors (projected samples) - X_pc = np.column_stack((eigvecs[:, -i] - for i in range(1, n_components + 1))) + X_pc = np.column_stack([eigvecs[:, -i] for i in range(1, n_components + 1)]) return X_pc @@ -269,7 +268,7 @@ def rbf_kernel_pca(X, gamma, n_components): eigvals, eigvecs = eigh(K) # Collect the top k eigenvectors (projected samples) - alphas = np.column_stack((eigvecs[:,-i] for i in range(1,n_components+1))) + alphas = np.column_stack([eigvecs[:,-i] for i in range(1,n_components+1)]) # Collect the corresponding eigenvalues lambdas = [eigvals[-i] for i in range(1,n_components+1)] diff --git a/p177_k_fold_cross_validation.py b/p177_k_fold_cross_validation.py index c6bf4b5..6a32210 100644 --- a/p177_k_fold_cross_validation.py +++ b/p177_k_fold_cross_validation.py @@ -1,4 +1,4 @@ -'''k_fold_cross_validation.py +'''k_fold_model_selection.py k fold cross validation splits the training set into n parts and uses a different 1/n of the test set for each iteration. It is good for tuning parameters as all samples are used, reducing the variance of the @@ -48,12 +48,13 @@ import ocr_utils import matplotlib.pyplot as plt import numpy as np -from sklearn.cross_validation import StratifiedKFold +from sklearn.model_selection import StratifiedKFold from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA if __name__ == '__main__': #charsToTrain=range(48,58) chars_to_train = range(48,58) + n_classes = len(chars_to_train) num_chars = 3000 #limit the number to speed up the calculation @@ -75,7 +76,7 @@ # y_train, X_train, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = charsToTrain , columns=range(0,20), nChars=1000, test_size=0.3,random_state=0) from sklearn.linear_model import LogisticRegression - from sklearn.cross_validation import train_test_split + from sklearn.model_selection import train_test_split X_train , X_test, y_train, y_test = train_test_split(X_train, y_train, test_size=0.3, random_state=0) @@ -99,28 +100,24 @@ for num_PCA in num_planes: print ('number of Principal Components = {}'.format(num_PCA)) pipe_lr = Pipeline([('scl', StandardScaler()), - ('pca', PCA(n_components=num_PCA)), - ('clf', LogisticRegression(random_state=1))]) - + ('pca', PCA(n_components=num_PCA, svd_solver='full')), + ('clf', LogisticRegression(random_state=1,multi_class='auto', solver='liblinear'))]) + pipe_lr.fit(X_train, y_train) print('Test Accuracy: %.3f' % pipe_lr.score(X_test, y_test)) - - - kfold = StratifiedKFold(y=y_train, - n_folds=10, - random_state=1) + kfold = StratifiedKFold(n_splits=10, random_state=1) scores = [] - for k, (train, test) in enumerate(kfold): - pipe_lr.fit(X_train[train], y_train[train]) - score = pipe_lr.score(X_train[test], y_train[test]) + for train_index, test_index in kfold.split(X_train, y_train): + pipe_lr.fit(X_train[train_index], y_train[train_index]) + score = pipe_lr.score(X_train[test_index], y_train[test_index]) scores.append(score) #print ('train {} samples: {}'.format(len(train), train)) #print('Fold: %s, Class dist.: %s, Acc: %.3f' % (k+1, np.bincount(y_train[train])[list(charsToTrain)], score)) print('\nCV accuracy: %.3f +/- %.3f' % (np.mean(scores), np.std(scores))) - from sklearn.cross_validation import cross_val_score + from sklearn.model_selection import cross_val_score scores = cross_val_score(estimator=pipe_lr, X=X_train, @@ -153,21 +150,21 @@ for num_LDA in num_planes: print ('number of Principal Components = {}'.format(num_LDA)) pipe_lr = Pipeline([('scl', StandardScaler()), - ('lda', LDA(n_components=num_LDA)), - ('clf', LogisticRegression(random_state=1))]) - + ('lda', LDA(n_components=min(num_LDA,n_classes-1), solver='eigen')), + ('clf', LogisticRegression(random_state=1,multi_class='auto',solver='liblinear'))]) + + kys = pipe_lr.get_params().keys() + print(kys) +# pipe_lr.set_params(lda__solver='eigen',clf__solver='liblinear',clf__multi_class='auto') pipe_lr.fit(X_train, y_train) print('Test Accuracy: %.3f' % pipe_lr.score(X_test, y_test)) - - kfold = StratifiedKFold(y=y_train, - n_folds=10, - random_state=1) + kfold = StratifiedKFold(n_splits=10, random_state=1) scores = [] - for k, (train, test) in enumerate(kfold): - pipe_lr.fit(X_train[train], y_train[train]) - score = pipe_lr.score(X_train[test], y_train[test]) + for train_index, test_index in kfold.split(X_train, y_train): + pipe_lr.fit(X_train[train_index], y_train[train_index]) + score = pipe_lr.score(X_train[test_index], y_train[test_index]) scores.append(score) #print ('train {} samples: {}'.format(len(train), train)) #print('Fold: %s, Class dist.: %s, Acc: %.3f' % (k+1, np.bincount(y_train[train])[list(charsToTrain)], score)) diff --git a/p181_learning_curves.py b/p181_learning_curves.py index 281587e..811a9ef 100644 --- a/p181_learning_curves.py +++ b/p181_learning_curves.py @@ -42,7 +42,7 @@ @author: richard lyman ''' import matplotlib.pyplot as plt -from sklearn.learning_curve import learning_curve +from sklearn.model_selection import learning_curve import numpy as np import ocr_utils from sklearn.preprocessing import StandardScaler @@ -55,7 +55,7 @@ y_train, X_train, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = (48,51) , columns=(9,17), random_state=0) pipe_lr = Pipeline([('scl', StandardScaler()), - ('clf', LogisticRegression(penalty='l2', random_state=0))]) + ('clf', LogisticRegression(penalty='l2', random_state=0, solver='lbfgs'))]) train_sizes, train_scores, test_scores =\ learning_curve(estimator=pipe_lr, @@ -99,7 +99,7 @@ plt.tight_layout() ocr_utils.show_figures(plt,title) - from sklearn.learning_curve import validation_curve + from sklearn.model_selection import validation_curve param_range = [0.001, 0.01, 0.1, 1.0, 10.0, 100.0] train_scores, test_scores = validation_curve( diff --git a/p186_grid_search.py b/p186_grid_search.py index 344b807..cb2f00a 100644 --- a/p186_grid_search.py +++ b/p186_grid_search.py @@ -35,7 +35,7 @@ import ocr_utils from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline -from sklearn.grid_search import GridSearchCV +from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC if __name__ == '__main__': diff --git a/p189_nested_cross_validation.py b/p189_nested_cross_validation.py index 694f0c4..17d55e6 100644 --- a/p189_nested_cross_validation.py +++ b/p189_nested_cross_validation.py @@ -55,8 +55,8 @@ import ocr_utils from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline -from sklearn.cross_validation import cross_val_score -from sklearn.grid_search import GridSearchCV +from sklearn.model_selection import cross_val_score +from sklearn.model_selection import GridSearchCV from sklearn.svm import SVC if __name__ == '__main__': y_train, X_train, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = (48,51) , test_size=0.3, columns=(9,17), random_state=0) diff --git a/p193_model_precision_recall.py b/p193_model_precision_recall.py index 25e8766..5413066 100644 --- a/p193_model_precision_recall.py +++ b/p193_model_precision_recall.py @@ -49,9 +49,9 @@ from sklearn.preprocessing import StandardScaler from sklearn.pipeline import Pipeline from sklearn.svm import SVC -from sklearn.grid_search import GridSearchCV +from sklearn.model_selection import GridSearchCV from sklearn.metrics import make_scorer,precision_score, recall_score, f1_score -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split if __name__ == '__main__': y, X, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = (48,51) , columns=(9,17), random_state=0) diff --git a/p194_receiver_operating_characteristic.py b/p194_receiver_operating_characteristic.py index 44d69a0..5bc308f 100644 --- a/p194_receiver_operating_characteristic.py +++ b/p194_receiver_operating_characteristic.py @@ -45,10 +45,12 @@ from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression from sklearn.pipeline import Pipeline -from sklearn.cross_validation import StratifiedKFold +from sklearn.model_selection import StratifiedKFold from sklearn.decomposition import PCA -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split from sklearn.metrics import make_scorer,precision_score,roc_curve, auc +from sklearn.metrics import roc_auc_score, accuracy_score +from sklearn.model_selection import cross_val_score if __name__ == '__main__': @@ -64,32 +66,48 @@ pipe_lr = Pipeline([('scl', StandardScaler()), ('pca', PCA(n_components=2)), - ('clf', LogisticRegression(penalty='l2',random_state=0,C=100.0))]) + ('clf', LogisticRegression(penalty='l2',random_state=0,C=100.0, solver='lbfgs'))]) # X_train2 = X_train[:, [4, 14]] X_train2 = X_train - cv = StratifiedKFold(y_train,n_folds=3,random_state=1) + + kfold = StratifiedKFold(n_splits=3, random_state=1) + +# scores = [] +# for train_index, test_index in kfold.split(X_train, y_train): +# pipe_lr.fit(X_train[train_index], y_train[train_index]) +# score = pipe_lr.score(X_train[test_index], y_train[test_index]) +# scores.append(score) + + + + + + + +# cv = StratifiedKFold(y_train,n_folds=3,random_state=1) fig = plt.figure(figsize=(7, 5)) mean_tpr = 0.0 mean_fpr = np.linspace(0, 1, 100) all_tpr = [] - - for i, (train, test) in enumerate(cv): - probas = pipe_lr.fit(X_train2[train], - y_train[train]).predict_proba(X_train2[test]) + i=0 + for train_index, test_index in kfold.split(X_train, y_train): + probas = pipe_lr.fit(X_train2[train_index], + y_train[train_index]).predict_proba(X_train2[test_index]) - fpr, tpr, thresholds = roc_curve(y_train[test], + fpr, tpr, thresholds = roc_curve(y_train[test_index], probas[:, 1], pos_label=1) mean_tpr += interp(mean_fpr, fpr, tpr) mean_tpr[0] = 0.0 roc_auc = auc(fpr, tpr) + i=i+1 plt.plot(fpr, tpr, lw=1, label='ROC fold %d (area = %0.2f)' - % (i+1, roc_auc)) + % (i, roc_auc)) plt.plot([0, 1], [0, 1], @@ -97,7 +115,7 @@ color=(0.6, 0.6, 0.6), label='random guessing') - mean_tpr /= len(cv) + mean_tpr /= kfold.get_n_splits(X_train) mean_tpr[-1] = 1.0 mean_auc = auc(mean_fpr, mean_tpr) plt.plot(mean_fpr, mean_tpr, 'k--', @@ -123,8 +141,6 @@ pipe_lr = pipe_lr.fit(X_train2, y_train) # y_pred2 = pipe_lr.predict(X_test[:, [4, 14]]) y_pred2 = pipe_lr.predict(X_test) - from sklearn.metrics import roc_auc_score, accuracy_score - print('ROC AUC: %.3f' % roc_auc_score(y_true=y_test, y_score=y_pred2)) print('Accuracy: %.3f' % accuracy_score(y_true=y_test, y_pred=y_pred2)) @@ -133,10 +149,10 @@ # for more than 2 classes for GridSearch # i.e. applies a binary scoring technique to multiclasses pos_label=range(48,58) - pre_scorer = make_scorer(score_func=precision_score, - pos_label=pos_label, - greater_is_better=True, - average='micro') +# pre_scorer = make_scorer(score_func=precision_score, +# pos_label=pos_label, +# greater_is_better=True, +# average='micro') from sklearn.svm import SVC y_train, X_train, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = pos_label , nChars=4000, columns=(9,17), random_state=0) @@ -149,15 +165,15 @@ {'clf__C': c_gamma_range, 'clf__gamma': c_gamma_range, 'clf__kernel': ['rbf'],}] - from sklearn.grid_search import GridSearchCV + from sklearn.model_selection import GridSearchCV gs = GridSearchCV(estimator=pipe_svc, param_grid=param_grid, - scoring=pre_scorer, + scoring='accuracy', cv=5, n_jobs=-1) - from sklearn.cross_validation import cross_val_score - scores = cross_val_score(gs, X_train, y_train, scoring=pre_scorer, cv=5) + + scores = cross_val_score(gs, X_train, y_train, scoring='accuracy', cv=5) print('\nSupport Vector Cross Validation accuracy: %.3f +/- %.3f' % (np.mean(scores), np.std(scores))) gs = gs.fit(X_train, y_train) diff --git a/p206_majority_vote_classifier.py b/p206_majority_vote_classifier.py index 221dc52..e404fa7 100644 --- a/p206_majority_vote_classifier.py +++ b/p206_majority_vote_classifier.py @@ -44,13 +44,12 @@ from sklearn.base import BaseEstimator from sklearn.base import ClassifierMixin from sklearn.preprocessing import LabelEncoder -from sklearn.externals import six from sklearn.base import clone from sklearn.pipeline import _name_estimators import numpy as np import ocr_utils -from sklearn.cross_validation import train_test_split -from sklearn.cross_validation import cross_val_score +from sklearn.model_selection import train_test_split +from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression from sklearn.tree import DecisionTreeClassifier from sklearn.neighbors import KNeighborsClassifier @@ -59,6 +58,7 @@ from sklearn.metrics import roc_curve from sklearn.metrics import auc import matplotlib.pyplot as plt +from sklearn.model_selection import GridSearchCV class MajorityVoteClassifier(BaseEstimator, ClassifierMixin): @@ -182,8 +182,8 @@ def get_params(self, deep=True): return super(MajorityVoteClassifier, self).get_params(deep=False) else: out = self.named_classifiers.copy() - for name, step in six.iteritems(self.named_classifiers): - for key, value in six.iteritems(step.get_params(deep=True)): + for name, step in self.named_classifiers.items(): + for key, value in step.get_params(deep=True).items(): out['%s__%s' % (name, key)] = value return out @@ -204,7 +204,7 @@ def get_params(self, deep=True): clf1 = LogisticRegression(penalty='l2', C=0.001, - random_state=0) + random_state=0, solver='lbfgs') clf2 = DecisionTreeClassifier(max_depth=1, criterion='entropy', @@ -216,6 +216,7 @@ def get_params(self, deep=True): pipe1 = Pipeline([['sc', StandardScaler()], ['clf', clf1]]) +kys = pipe1.get_params() pipe3 = Pipeline([['sc', StandardScaler()], ['clf', clf3]]) @@ -314,7 +315,7 @@ def get_params(self, deep=True): pprint.pprint(mv_clf.get_params()) print() -from sklearn.grid_search import GridSearchCV + params = {'decisiontreeclassifier__max_depth': [1, 2], 'pipeline-1__clf__C': [0.001, 0.1, 100.0]} @@ -325,9 +326,13 @@ def get_params(self, deep=True): scoring='roc_auc') grid.fit(X_train, y_train) -for params, mean_score, scores in grid.grid_scores_: +params=grid.cv_results_['params'] +mean_scores=grid.cv_results_['mean_test_score'] +scores = grid.cv_results_['std_test_score'] + +for i in range(len(params)): print("%0.6f+/-%0.6f %r" - % (mean_score, scores.std() / 2, sorted(params.items()))) + % (mean_scores[i], scores[i] / 2, sorted(params[i].items()))) print('\nBest parameters: %s' % sorted(grid.best_params_.items())) print('Best Accuracy: %.6f' % grid.best_score_) diff --git a/p221_bagging_bootstrap_samples.py b/p221_bagging_bootstrap_samples.py index 1f0a945..cc34df9 100644 --- a/p221_bagging_bootstrap_samples.py +++ b/p221_bagging_bootstrap_samples.py @@ -35,7 +35,7 @@ from sklearn.preprocessing import LabelEncoder import ocr_utils -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split import numpy as np import matplotlib.pyplot as plt if __name__ == '__main__': diff --git a/p229_adaboost.py b/p229_adaboost.py index cf97b71..f4852f0 100644 --- a/p229_adaboost.py +++ b/p229_adaboost.py @@ -41,7 +41,7 @@ from sklearn.ensemble import AdaBoostClassifier import ocr_utils -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import LabelEncoder diff --git a/p411_keras.py b/p411_keras.py index 823dd3a..d5216ba 100644 --- a/p411_keras.py +++ b/p411_keras.py @@ -50,25 +50,22 @@ def do_keras(X_train,X_test, y_train_ohe, y_train,y_test): model = Sequential() model.add(Dense(input_dim=X_train.shape[1], - output_dim=50, - init='uniform', + units=50, activation='tanh')) model.add(Dense(input_dim=50, - output_dim=50, - init='uniform', + units=50, activation='tanh')) model.add(Dense(input_dim=50, - output_dim=y_train_ohe.shape[1], - init='uniform', + units=y_train_ohe.shape[1], activation='softmax')) sgd = SGD(lr=0.001, decay=1e-7, momentum=.9) model.compile(loss='categorical_crossentropy', optimizer=sgd,metrics=["accuracy"]) model.fit(X_train, y_train_ohe, - nb_epoch=50, + epochs=50, batch_size=300, verbose=2, validation_split=0.1 diff --git a/p51_standard_scalar.py b/p51_standard_scalar.py index 1a8cca4..89e8014 100644 --- a/p51_standard_scalar.py +++ b/p51_standard_scalar.py @@ -38,6 +38,7 @@ import ocr_utils from sklearn.preprocessing import StandardScaler from sklearn.linear_model import Perceptron +from sklearn.model_selection import train_test_split ############################################################################# @@ -51,7 +52,7 @@ print('Class labels:', np.unique(y)) -from sklearn.cross_validation import train_test_split + ############################################################################# # standardize the features @@ -63,7 +64,7 @@ X_train_std = sc.transform(X_train) X_test_std = sc.transform(X_test) -ppn = Perceptron(n_iter=40, eta0=0.1, random_state=0) +ppn = Perceptron(max_iter=40, eta0=0.1, random_state=0) ppn.fit(X_train_std, y_train) y_pred = ppn.predict(X_test_std) diff --git a/p62_logistic_regression.py b/p62_logistic_regression.py index e92e491..6333395 100644 --- a/p62_logistic_regression.py +++ b/p62_logistic_regression.py @@ -56,7 +56,7 @@ import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split y, X, y_test, X_test, labels = ocr_utils.load_E13B(chars_to_train = (48,49,50) , columns=(9,17),nChars=500) @@ -108,7 +108,7 @@ def cost_0(z): sc.fit(X_train) X_train_std = sc.transform(X_train) X_test_std = sc.transform(X_test) -lr = LogisticRegression(C=1000.0, random_state=0) +lr = LogisticRegression(C=1000.0, random_state=0, solver='lbfgs',multi_class='auto') lr.fit(X_train_std, y_train) X_combined_std = np.vstack((X_train_std, X_test_std)) y_combined = np.hstack((y_train, y_test)) @@ -123,7 +123,7 @@ def cost_0(z): weights, params = [], [] for c in np.arange(0, 5): - lr = LogisticRegression(C=10**c, random_state=0) + lr = LogisticRegression(C=10**c, random_state=0, solver='lbfgs',multi_class='auto') lr.fit(X_train_std, y_train) weights.append(lr.coef_[0]) params.append(10**c) @@ -132,7 +132,7 @@ def cost_0(z): title = 'regression_path' weights, params = [], [] for c in np.arange(0, 5): - lr = LogisticRegression(C=10**c, random_state=0) + lr = LogisticRegression(C=10**c, random_state=0, solver='lbfgs',multi_class='auto') lr.fit(X_train_std, y_train) weights.append(lr.coef_[1]) params.append(10**c) diff --git a/p73_support_vector_machine.py b/p73_support_vector_machine.py index 4643414..27a03b3 100644 --- a/p73_support_vector_machine.py +++ b/p73_support_vector_machine.py @@ -51,6 +51,7 @@ svm = SVC(kernel='linear', C=1.0, random_state=0) svm.fit(X_train_std, y_train) + ocr_utils.plot_decision_regions(X=X_combined_std, y=y_combined, classifier=svm, diff --git a/q2_tensorflow_mnist.py b/q2_tensorflow_mnist.py index fa9ff46..a5493da 100644 --- a/q2_tensorflow_mnist.py +++ b/q2_tensorflow_mnist.py @@ -33,7 +33,8 @@ import numpy as np import pandas as pd import n1_2cnv1fc as nnetwork -import tensorflow as tf +from tensorflow.compat import v1 as tf +#import tf dtype = np.float32 if True: diff --git a/q3_removing_affine_distortion.py b/q3_removing_affine_distortion.py index 85d5f37..93b7855 100644 --- a/q3_removing_affine_distortion.py +++ b/q3_removing_affine_distortion.py @@ -93,7 +93,7 @@ def shear(X, skew): # run a Logistic Regression on the raw features with 20 rows, 20 columns from sklearn.linear_model import LogisticRegression -from sklearn.cross_validation import train_test_split +from sklearn.model_selection import train_test_split X_train , X_test, y_train, y_test = train_test_split(images_reshaped, ys, test_size=0.3, random_state=0) @@ -146,7 +146,7 @@ def shear(X, skew): ######################################################################### # run Linear Discriminant Analysis first then Logistic Regression -from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA +from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA n_components = 2 lda = LDA(n_components=n_components) diff --git a/q4_Theano_mlp.py b/q4_Theano_mlp.py index f0278c7..caed736 100644 --- a/q4_Theano_mlp.py +++ b/q4_Theano_mlp.py @@ -20,6 +20,7 @@ import time import numpy as np import theano +# must comment out downsampling in pool.py because pip install did not include downsample import theano.tensor as T import lasagne import ocr_utils diff --git a/q6_tensorflow_residual3x4.py b/q6_tensorflow_residual3x4.py index 951ff47..d38cb8f 100644 --- a/q6_tensorflow_residual3x4.py +++ b/q6_tensorflow_residual3x4.py @@ -29,7 +29,7 @@ import numpy as np import pandas as pd import n1_residual3x4 as nnetwork -import tensorflow as tf +from tensorflow.compat import v1 as tf dtype = np.float32 #with tf.device('/GPU:0'): #with tf.device('/cpu:0'): diff --git a/q8_tika.py b/q8_tika.py index b1c7f93..1cc29f7 100644 --- a/q8_tika.py +++ b/q8_tika.py @@ -28,6 +28,7 @@ #os.putenv( 'TIKA_CLIENT_ONLY','True') #- if set to True, then TIKA_SERVER_JAR is ignored, and relies on the value for TIKA_SERVER_ENDPOINT and treats Tika like a REST client. #os.putenv( 'TIKA_TRANSLATOR','org/apache/tika/language/translate/') #- set to the fully qualified class name (defaults to Lingo24) for the Tika translator implementation. #os.putenv( 'TIKA_SERVER_CLASSPATH','/home/richard/.m2/repository/org/apache/tika/tika-server/1.13/tika-server-1.13.jar') #- set to a string (delimited by ':' for each additional path) to prepend to the Tika server jar path. +#os.putenv('TESSDATA_PREFIX','/usr/share/tesseract-ocr/4.00/tessdata/') tika.initVM() from tika import parser parsed = parser.from_buffer("comme çi comme ça") diff --git a/q9_tensorflow_gpu_test.py b/q9_tensorflow_gpu_test.py index 84a255b..d5725ce 100644 --- a/q9_tensorflow_gpu_test.py +++ b/q9_tensorflow_gpu_test.py @@ -1,17 +1,22 @@ # Creates a graph. import tensorflow as tf +#from tensorflow.compat import v1 as tf +#sess = tf.InteractiveSession() +@tf.function +def d(a,b): + return tf.matmul(a, b) a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a') b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b') -c = tf.matmul(a, b) +#c = tf.matmul(a, b) # Creates a session with log_device_placement set to True. -sess = tf.Session(config=tf.ConfigProto(log_device_placement=True)) -# Runs the op. - -tens1 = tf.constant([ [[1,2],[2,3]], [[3,4],[5,6]] ]) -print (sess.run(tens1)[1,1,0]) -print (sess.run(c)) +# Runs the op. +# tens1 = tf.constant([ [[1,2],[2,3]], [[3,4],[5,6]] ]) +# print (sess.run(tens1)[1,1,0]) +# self._sess.run(tf.initialize_all_variables()) +for i in range(100000): + d(a,b) print ('\n########################### No Errors ####################################') \ No newline at end of file From fedce1fcdc5e924bac3f279ccad902fec52dfa88 Mon Sep 17 00:00:00 2001 From: richard lyman Date: Fri, 12 Feb 2021 07:36:36 -0800 Subject: [PATCH 6/6] Show versions of installation --- README.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b92b17c..7454fb0 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,19 @@ run_batch.sc is a bash script that runs all of the programs in the directory The script file will create many files in the folder, /tmp/plots. -Python 3.4 +Python 3.8 Anaconda3 Linux or Windows +cuda 11.2.1 +h5py 2.10.0 +Keras 2.4.3 +Lasagne 0.1 +matplotlib 3.3.2 +numpy 1.19.2 +pytesseract 0.3.7 +sklearn 0.0 +tensorflow 2.4.1 +tesseract 4.1.1 +Theano 1.0.5 +tika 1.24 +