Advertisement
Guest User

Untitled

a guest
Dec 12th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.64 KB | None | 0 0
  1. from keras.preprocessing.image import ImageDataGenerator, array_to_img, img_to_array, load_img
  2. import numpy as np
  3. import pandas as pd
  4.  
  5. import keras
  6.  
  7. print('done importing')
  8.  
  9. def completeWithAugmentedData(X_tr,Y_tr,limit):
  10. print('complete augemented data')
  11. toAdd=limit-len(X_tr)
  12. if (len(X_tr)<limit):
  13. datagen = ImageDataGenerator(
  14. shear_range=0.1,
  15. zoom_range=0.1,
  16. horizontal_flip=True)
  17. gentrain = datagen.flow(np.asarray(X_tr), batch_size=1)
  18. igen=0
  19. for gt in gentrain:
  20. X_tr.append(gt[0,:,:,:])
  21. Y_tr.append(Y_tr[0])
  22. igen += 1
  23. if (igen >= toAdd):
  24. break
  25. #print len(X_tr),len(Y_tr)
  26. return [X_tr,Y_tr]
  27.  
  28. def read_data_small(labels_dim):
  29.  
  30. print('run read_data_small')
  31. input_dir="/mnt/server-home/TUE/20184102/datasets/train"
  32. labels=pd.read_csv("/mnt/server-home/TUE/20184102/datasets/trainLabels.csv")
  33.  
  34. X_train0 = []
  35. X_train1 = []
  36.  
  37. Y_train0 = []
  38. Y_train1 = []
  39.  
  40. limit=100
  41.  
  42. for idx,filename in enumerate(labels["image"]):
  43. img = load_img(input_dir+"/"+ filename+".jpeg", target_size=(256, 256)) # this is a PIL image
  44. x = img_to_array(img) # this is a Numpy array with shape (128, 128, 3)
  45. print('start for loop')
  46. if ((labels["level"][idx]==0)and(len(X_train0)<limit)):
  47. X_train0.append(x)
  48. Y_train0.append(labels["level"][idx])
  49. print('3')
  50.  
  51. if (((labels["level"][idx]==1)) or (labels["level"][idx]==2) or (labels["level"][idx]==3) or (labels["level"][idx]==4)) and (len(X_train1)<limit):
  52. X_train1.append(x)
  53. Y_train1.append(labels["level"][idx])
  54. print('2')
  55.  
  56. if (len(X_train1)>= limit) and (len(X_train0) >= limit):
  57. break
  58.  
  59.  
  60. [X_train0,Y_train0]=completeWithAugmentedData(X_train0,Y_train0,limit)
  61. [X_train1, Y_train1] = completeWithAugmentedData(X_train1, Y_train1,limit)
  62.  
  63. X_train=np.concatenate((np.asarray(X_train0),np.asarray(X_train1)),axis=0)
  64. Y_train=np.concatenate((np.asarray(Y_train0),np.asarray(Y_train1)),axis=0)
  65.  
  66. X_train = X_train.astype('float16') / 255.
  67. Y_train = keras.utils.to_categorical(Y_train, labels_dim)
  68.  
  69. print ("TrainData size", X_train.shape, Y_train.shape)
  70. np.savez_compressed("data/trainDataMedium.npz",X_train=X_train,Y_train=Y_train)
  71.  
  72. read_data_small(2)
  73.  
  74. #read_data_small_test(5)
  75.  
  76. """
  77. def read_data(labels_dim):
  78. input_dir="data/trainData"
  79. labels=pd.read_csv("data/trainData.csv")
  80.  
  81. X_train=[]
  82. Y_train=[]
  83.  
  84. for idx,filename in enumerate(labels["image"]):
  85. img = load_img(input_dir+"/"+str(labels["level"][idx])+"/"+ filename+".tiff") # this is a PIL image
  86. x = img_to_array(img) # this is a Numpy array with shape (128, 128, 3)
  87. X_train.append(x)
  88. Y_train.append(labels["level"][idx])
  89.  
  90. X_train=np.asarray(X_train)
  91. Y_train=np.asarray(Y_train)
  92. X_train = X_train.astype('float16') / 255.
  93. Y_train = keras.utils.to_categorical(Y_train, labels_dim)
  94.  
  95. print ("TrainData size", X_train.shape, Y_train.shape)
  96. np.savez_compressed("data/trainData.npz",X_train=X_train,Y_train=Y_train)
  97.  
  98.  
  99.  
  100.  
  101. def read_train_data():
  102. data=np.load("data/trainData.npz")
  103. X_train=data["X_train"]
  104. Y_train=data["Y_train"]
  105. return [X_train,Y_train]
  106.  
  107. def read_test_data():
  108. data=np.load("data/testData.npz")
  109. X_test=data["X_test"]
  110. Y_test=data["Y_test"]
  111. return [X_train,Y_train]
  112.  
  113. [X_train,Y_train]=read_train_data()
  114. print "bau"
  115. for j in range (100000000):
  116. c=j+j*1.2321
  117. [X_test,Y_test]=read_test_data()
  118. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement