Guest User

Untitled

a guest
Jun 24th, 2018
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.95 KB | None | 0 0
  1. """
  2. Working on an assignment, trying to build from an example Netanel Shimoni showed during the TLV DL Bootcam meetup #2
  3. (breast cancer histology). It is catagorizing a set of 150*150 RGB images, I want to use it on 50*50 B/W images.
  4. Posting Nati's example and what I tried to in the comments below.
  5. """
  6.  
  7. # Example (runs on my machine)
  8. def get_model():
  9. inp = Input(shape=(50,50,3))
  10. x=BatchNormalization()(inp)
  11. x=Conv2D(64,kernel_size=3,activation='relu')(x)
  12. x=MaxPool2D(pool_size=2)(x)
  13. x = Dropout(0.3)(x)
  14. x=Conv2D(64,kernel_size=3,activation='relu')(x)
  15. x = Dropout(0.5)(x)
  16. x=MaxPool2D(pool_size=2)(x)
  17. x=Flatten()(x)
  18. x=Dense(2,activation='relu')(x)
  19. model=Model(inp,x)
  20. model.summary()
  21. model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
  22. return model
  23.  
  24. #
  25. model = get_model()
  26. saveModel = model.fit(X,to_categorical(Y),validation_split=0.2, batch_size=5,epochs=3)
  27.  
  28.  
  29. ##############################################################################################
  30.  
  31. My code:
  32.  
  33. import numpy as np
  34. import pandas as pd
  35. import matplotlib.pyplot as plt
  36. from keras.layers import *
  37. from keras.models import *
  38. from keras.utils import to_categorical
  39. def get_model():
  40. inp = Input(shape=(50,50))
  41. x=BatchNormalization()(inp)
  42. x=Conv2D(32,kernel_size=2,activation='relu')(x)
  43. x=MaxPool2D(pool_size=2)(x)
  44. x = Dropout(0.3)(x)
  45. x=Conv2D(64,kernel_size=3,activation='relu')(x)
  46. x = Dropout(0.5)(x)
  47. x=MaxPool2D(pool_size=2)(x)
  48. x=Flatten()(x)
  49. x=Dense(2,activation='relu')(x)
  50. model=Model(inp,x)
  51. model.summary()
  52. model.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])
  53. return model
  54.  
  55. model = get_model()
  56. saveModel = model.fit(allImages,to_categorical(Y),validation_split=0.2, batch_size=5,epochs=3)
  57. #####################################################################################################
  58.  
  59. I also tried adding a dummy dimension to go from (5000, 50, 50) to (5000, 50, 50, 1) using:
  60. allImages = np.expand_dims(allImages, axis=3)
  61. and in the model made the following change:
  62. inp = Input(shape=(50,50,1))
  63.  
  64. Then I got this error message:
  65. _________________________
  66. _________________________________________________________________
  67. Layer (type) Output Shape Param #
  68. =================================================================
  69. input_20 (InputLayer) (None, 50, 50, 1) 0
  70. _________________________________________________________________
  71. batch_normalization_18 (Batc (None, 50, 50, 1) 4
  72. _________________________________________________________________
  73. conv2d_24 (Conv2D) (None, 49, 49, 32) 160
  74. _________________________________________________________________
  75. max_pooling2d_9 (MaxPooling2 (None, 24, 24, 32) 0
  76. _________________________________________________________________
  77. dropout_10 (Dropout) (None, 24, 24, 32) 0
  78. _________________________________________________________________
  79. conv2d_25 (Conv2D) (None, 22, 22, 64) 18496
  80. _________________________________________________________________
  81. dropout_11 (Dropout) (None, 22, 22, 64) 0
  82. _________________________________________________________________
  83. max_pooling2d_10 (MaxPooling (None, 11, 11, 64) 0
  84. _________________________________________________________________
  85. flatten_5 (Flatten) (None, 7744) 0
  86. _________________________________________________________________
  87. dense_7 (Dense) (None, 2) 15490
  88. =================================================================
  89. Total params: 34,150
  90. Trainable params: 34,148
  91. Non-trainable params: 2
  92. _________________________________________________________________
  93. Train on 4000 samples, validate on 1000 samples
  94. Epoch 1/9
  95. ---------------------------------------------------------------------------
  96. InternalError Traceback (most recent call last)
  97. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
  98. 1326 try:
  99. -> 1327 return fn(*args)
  100. 1328 except errors.OpError as e:
  101.  
  102. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata)
  103. 1311 return self._call_tf_sessionrun(
  104. -> 1312 options, feed_dict, fetch_list, target_list, run_metadata)
  105. 1313
  106.  
  107. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata)
  108. 1419 self._session, options, feed_dict, fetch_list, target_list,
  109. -> 1420 status, run_metadata)
  110. 1421
  111.  
  112. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\framework\errors_impl.py in __exit__(self, type_arg, value_arg, traceback_arg)
  113. 515 compat.as_text(c_api.TF_Message(self.status.status)),
  114. --> 516 c_api.TF_GetCode(self.status.status))
  115. 517 # Delete the underlying status object from memory otherwise it stays alive
  116.  
  117. InternalError: GPU sync failed
  118.  
  119. During handling of the above exception, another exception occurred:
  120.  
  121. InternalError Traceback (most recent call last)
  122. <ipython-input-59-a91f5bdc1a64> in <module>()
  123. 21 return model
  124. 22 model = get_model()
  125. ---> 23 saveModel = model.fit(allImages,to_categorical(Y),validation_split=0.2, batch_size=5,epochs=9)
  126.  
  127. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\keras\engine\training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, **kwargs)
  128. 1703 initial_epoch=initial_epoch,
  129. 1704 steps_per_epoch=steps_per_epoch,
  130. -> 1705 validation_steps=validation_steps)
  131. 1706
  132. 1707 def evaluate(self, x=None, y=None,
  133.  
  134. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\keras\engine\training.py in _fit_loop(self, f, ins, out_labels, batch_size, epochs, verbose, callbacks, val_f, val_ins, shuffle, callback_metrics, initial_epoch, steps_per_epoch, validation_steps)
  135. 1233 ins_batch[i] = ins_batch[i].toarray()
  136. 1234
  137. -> 1235 outs = f(ins_batch)
  138. 1236 if not isinstance(outs, list):
  139. 1237 outs = [outs]
  140.  
  141. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\keras\backend\tensorflow_backend.py in __call__(self, inputs)
  142. 2474 feed_dict[tensor] = value
  143. 2475 fetches = self.outputs + [self.updates_op] + self.fetches
  144. -> 2476 session = get_session()
  145. 2477 updated = session.run(fetches=fetches, feed_dict=feed_dict,
  146. 2478 **self.session_kwargs)
  147.  
  148. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\keras\backend\tensorflow_backend.py in get_session()
  149. 190 # not already marked as initialized.
  150. 191 is_initialized = session.run(
  151. --> 192 [tf.is_variable_initialized(v) for v in candidate_vars])
  152. 193 uninitialized_vars = []
  153. 194 for flag, v in zip(is_initialized, candidate_vars):
  154.  
  155. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in run(self, fetches, feed_dict, options, run_metadata)
  156. 903 try:
  157. 904 result = self._run(None, fetches, feed_dict, options_ptr,
  158. --> 905 run_metadata_ptr)
  159. 906 if run_metadata:
  160. 907 proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
  161.  
  162. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
  163. 1138 if final_fetches or final_targets or (handle and feed_dict_tensor):
  164. 1139 results = self._do_run(handle, final_targets, final_fetches,
  165. -> 1140 feed_dict_tensor, options, run_metadata)
  166. 1141 else:
  167. 1142 results = []
  168.  
  169. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
  170. 1319 if handle is None:
  171. 1320 return self._do_call(_run_fn, feeds, fetches, targets, options,
  172. -> 1321 run_metadata)
  173. 1322 else:
  174. 1323 return self._do_call(_prun_fn, handle, feeds, fetches)
  175.  
  176. C:\ProgramData\Anaconda2\envs\tensorflow_windows\lib\site-packages\tensorflow\python\client\session.py in _do_call(self, fn, *args)
  177. 1338 except KeyError:
  178. 1339 pass
  179. -> 1340 raise type(e)(node_def, op, message)
  180. 1341
  181. 1342 def _extend_graph(self):
  182.  
  183. InternalError: GPU sync failed
Add Comment
Please, Sign In to add comment