Q&A
annotation 작업 방법에 관하여
어찌 보면 강의와 큰 상관이 없는 질문인데 관심 가져주시고 시간 내서 답변 주셔서 감사합니다. 큰 도움이 되었습니다.
- Likes
- 1
- Comments
- 2
- Viewcount
- 238
Q&A
어찌 보면 강의와 큰 상관이 없는 질문인데 관심 가져주시고 시간 내서 답변 주셔서 감사합니다. 큰 도움이 되었습니다.
Q&A
여러번 시도했으나 노트북(윈도우10)은 실패 했습니다. 도와 주셔서 감사합니다.
Q&A
답변주셔서 감사합니다. Retinanet 기준으로 코랩으로 구현(예측, 학습)하였고 다른 Dataset으로 학습과 예측도 성공하였습니다. 학습Dataset의 양을 늘리니 코랩에서 GPU 사용을 제한을 해서 윈도우로 재시도해 보았습니다. 위의 링크로 재설치해서 결과를 올리도록 하겠습니다.
Q&A
윈도우라서 위의 명령은 불가 합니다. 탐색기에서 파일을 찾아보았습니다. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include\cudnn.h grep의 -A 2 의 정확한 의미를 몰라 파일 내의 CUDNN_MAJOR를 검색 했습니다. 57라인 : #define CUDNN_MAJOR 7 61라인 : #define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL) 2개가 검색되었습니다. ========================================= cuda는 아래 링크에서 다운 받아서 설치하였습니다. https://developer.nvidia.com/cuda-toolkit-archive => cuda_10.0.130_411.31_win10.exe cudnn은 아래 링크에서 다운 받고 압축 풀고 파일을 복사-붙여넣기 하였습니다. https://developer.nvidia.com/rdp/cudnn-archive cudnn-10.0-windows10-x64-v7.4.2.24.zip 경로 C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\ 그리고 anaconda 설치 하고 소스 실행 후 어떤 오류가 발생했는데(정확히 기억나지 않고 기록대 두지 않았습니다) 검색을 한 후 아래의 명령어를 anaconda prompt에서 실행했습니다. conda install -c anaconda cudatoolkit conda install -c anaconda cudnn
Q&A
(base) C:\Users\dev_u>nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA Corporation Built on Sat_Aug_25_21:08:04_Central_Daylight_Time_2018 Cuda compilation tools, release 10.0, V10.0.130 ================================ 위와 같이 나옵니다. yolo3도 급히 환경 설정(tf113)해서 실행해 보았습니다. 동일한 현상인 것 같습니다. --------------------------------------------------------------------------- UnknownError Traceback (most recent call last) D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in _do_call (self, fn, *args) 1333 try : -> 1334 return fn ( * args ) 1335 except errors . OpError as e : D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in _run_fn (feed_dict, fetch_list, target_list, options, run_metadata) 1318 return self._call_tf_sessionrun( -> 1319 options, feed_dict, fetch_list, target_list, run_metadata) 1320 D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in _call_tf_sessionrun (self, options, feed_dict, fetch_list, target_list, run_metadata) 1406 self . _session , options , feed_dict , fetch_list , target_list , -> 1407 run_metadata) 1408 UnknownError : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[{{node conv2d_1/convolution}}]] [[{{node boolean_mask_120/GatherV2}}]] During handling of the above exception, another exception occurred: UnknownError Traceback (most recent call last) in 1 img = Image . open ( os . path . join ( '../data/image/beatles01.jpg' ) ) ----> 2 detected_img = yolo . detect_image ( img ) 3 4 plt . figure ( figsize = ( 12 , 12 ) ) 5 plt . imshow ( detected_img ) D:\01.dev\jupyter\tf113\yolo3\keras-yolo3\yolo.py in detect_image (self, image) 122 self . yolo_model . input : image_data , 123 self . input_image_shape : [ image . size [ 1 ] , image . size [ 0 ] ] , --> 124 K . learning_phase ( ) : 0 125 }) 126 D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in run (self, fetches, feed_dict, options, run_metadata) 927 try : 928 result = self._run(None, fetches, feed_dict, options_ptr, --> 929 run_metadata_ptr) 930 if run_metadata : 931 proto_data = tf_session . TF_GetBuffer ( run_metadata_ptr ) D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in _run (self, handle, fetches, feed_dict, options, run_metadata) 1150 if final_fetches or final_targets or ( handle and feed_dict_tensor ) : 1151 results = self._do_run(handle, final_targets, final_fetches, -> 1152 feed_dict_tensor, options, run_metadata) 1153 else : 1154 results = [ ] D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in _do_run (self, handle, target_list, fetch_list, feed_dict, options, run_metadata) 1326 if handle is None : 1327 return self._do_call(_run_fn, feeds, fetches, targets, options, -> 1328 run_metadata) 1329 else : 1330 return self . _do_call ( _prun_fn , handle , feeds , fetches ) D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\client\session.py in _do_call (self, fn, *args) 1346 pass 1347 message = error_interpolation . interpolate ( message , self . _graph ) -> 1348 raise type ( e ) ( node_def , op , message ) 1349 1350 def _extend_graph ( self ) : UnknownError : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[node conv2d_1/convolution (defined at D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\backend\tensorflow_backend.py:3565) ]] [[node boolean_mask_120/GatherV2 (defined at D:\01.dev\jupyter\tf113\yolo3\keras-yolo3\yolo3\model.py:215) ]] Caused by op 'conv2d_1/convolution', defined at: File "D:\01.dev\anaconda3\envs\tf113\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "D:\01.dev\anaconda3\envs\tf113\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel_launcher.py", line 16, in app.launch_new_instance() File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\traitlets\config\application.py", line 664, in launch_instance app.start() File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel\kernelapp.py", line 612, in start self.io_loop.start() File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\platform\asyncio.py", line 199, in start self.asyncio_loop.run_forever() File "D:\01.dev\anaconda3\envs\tf113\lib\asyncio\base_events.py", line 442, in run_forever self._run_once() File "D:\01.dev\anaconda3\envs\tf113\lib\asyncio\base_events.py", line 1462, in _run_once handle._run() File "D:\01.dev\anaconda3\envs\tf113\lib\asyncio\events.py", line 145, in _run self._callback(*self._args) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\ioloop.py", line 688, in lambda f: self._run_callback(functools.partial(callback, future)) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\ioloop.py", line 741, in _run_callback ret = callback() File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 814, in inner self.ctx_run(self.run) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 775, in run yielded = self.gen.send(value) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel\kernelbase.py", line 365, in process_one yield gen.maybe_future(dispatch(*args)) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 234, in wrapper yielded = ctx_run(next, result) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel\kernelbase.py", line 268, in dispatch_shell yield gen.maybe_future(handler(stream, idents, msg)) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 234, in wrapper yielded = ctx_run(next, result) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel\kernelbase.py", line 545, in execute_request user_expressions, allow_stdin, File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 234, in wrapper yielded = ctx_run(next, result) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel\ipkernel.py", line 306, in do_execute res = shell.run_cell(code, store_history=store_history, silent=silent) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\ipykernel\zmqshell.py", line 536, in run_cell return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\IPython\core\interactiveshell.py", line 2867, in run_cell raw_cell, store_history, silent, shell_futures) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\IPython\core\interactiveshell.py", line 2895, in _run_cell return runner(coro) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\IPython\core\async_helpers.py", line 68, in _pseudo_sync_runner coro.send(None) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\IPython\core\interactiveshell.py", line 3072, in run_cell_async interactivity=interactivity, compiler=compiler, result=result) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\IPython\core\interactiveshell.py", line 3263, in run_ast_nodes if (await self.run_code(code, result, async_=asy)): File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\IPython\core\interactiveshell.py", line 3343, in run_code exec(code_obj, self.user_global_ns, self.user_ns) File " ", line 11, in classes_path='D:/01.dev/jupyter/tf113/yolo3/keras-yolo3/model_data/coco_classes.txt') File "D:\01.dev\jupyter\tf113\yolo3\keras-yolo3\yolo.py", line 45, in __init__ self.boxes, self.scores, self.classes = self.generate() File "D:\01.dev\jupyter\tf113\yolo3\keras-yolo3\yolo.py", line 70, in generate self.yolo_model = load_model(model_path, compile=False) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\engine\saving.py", line 260, in load_model model = model_from_config(model_config, custom_objects=custom_objects) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\engine\saving.py", line 334, in model_from_config return deserialize(config, custom_objects=custom_objects) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\layers\__init__.py", line 55, in deserialize printable_module_name='layer') File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\utils\generic_utils.py", line 145, in deserialize_keras_object list(custom_objects.items()))) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\engine\network.py", line 1027, in from_config process_node(layer, node_data) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\engine\network.py", line 986, in process_node layer(unpack_singleton(input_tensors), **kwargs) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\engine\base_layer.py", line 457, in __call__ output = self.call(inputs, **kwargs) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\layers\convolutional.py", line 168, in call dilation_rate=self.dilation_rate) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\backend\tensorflow_backend.py", line 3565, in conv2d data_format=tf_data_format) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 851, in convolution return op(input, filter) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 966, in __call__ return self.conv_op(inp, filter) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 591, in __call__ return self.call(inp, filter) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\ops\nn_ops.py", line 208, in __call__ name=self.name) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\ops\gen_nn_ops.py", line 1113, in conv2d data_format=data_format, dilations=dilations, name=name) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\framework\op_def_library.py", line 788, in _apply_op_helper op_def=op_def) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\util\deprecation.py", line 507, in new_func return func(*args, **kwargs) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\framework\ops.py", line 3300, in create_op op_def=op_def) File "D:\01.dev\anaconda3\envs\tf113\lib\site-packages\tensorflow\python\framework\ops.py", line 1801, in __init__ self._traceback = tf_stack.extract_stack() UnknownError (see above for traceback): Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[node conv2d_1/convolution (defined at D:\01.dev\anaconda3\envs\tf113\lib\site-packages\keras\backend\tensorflow_backend.py:3565) ]] [[node boolean_mask_120/GatherV2 (defined at D:\01.dev\jupyter\tf113\yolo3\keras-yolo3\yolo3\model.py:215) ]] 2020-12-22 20:06:09.452864: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED 2020-12-22 20:06:09.459517: E tensorflow/stream_executor/cuda/cuda_dnn.cc:334] Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED 부탁드립니다.
Q&A
먼저 빠르게 답변 주셔서 감사합니다. SSD, Yolo는 다른 PC에서 작업했습니다. python과 pip로 개발환경 잡았고 SSD와 Yolo 예측까지는 성공했으나 학습에서 오류가 났습니다. GPU memory 문제인것 같았고(좀 오래 된 데스크탑 입니다.) 그래서 지금 노트북으로 변경하고 예측율이 높은 Retinanet을 시도했습니다. SSD와 Yolo도 개발 환경 잡고 결과 나오는대로 올리도록 하겠습니다. ================================================================ --------------------------------------------------------------------------- UnknownError Traceback (most recent call last) in 15 # 이미지에 대해 Object Detection 수행. 16 start = time . time ( ) ---> 17 boxes , scores , labels = retina_model . predict_on_batch ( np . expand_dims ( image , axis = 0 ) ) 18 print ( boxes . shape , scores . shape , labels . shape ) 19 print ( "processing time: " , time . time ( ) - start ) D:\01.dev\anaconda3\envs\tf115\lib\site-packages\keras\engine\training.py in predict_on_batch (self, x) 1578 ins = x 1579 self . _make_predict_function ( ) -> 1580 outputs = self . predict_function ( ins ) 1581 return unpack_singleton ( outputs ) 1582 D:\01.dev\anaconda3\envs\tf115\lib\site-packages\tensorflow_core\python\keras\backend.py in __call__ (self, inputs) 3474 3475 fetched = self._callable_fn(*array_vals, -> 3476 run_metadata=self.run_metadata) 3477 self . _call_fetch_callbacks ( fetched [ - len ( self . _fetches ) : ] ) 3478 output_structure = nest.pack_sequence_as( D:\01.dev\anaconda3\envs\tf115\lib\site-packages\tensorflow_core\python\client\session.py in __call__ (self, *args, **kwargs) 1470 ret = tf_session.TF_SessionRunCallable(self._session._session, 1471 self . _handle , args , -> 1472 run_metadata_ptr) 1473 if run_metadata : 1474 proto_data = tf_session . TF_GetBuffer ( run_metadata_ptr ) UnknownError : 2 root error(s) found. (0) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[{{node conv1/convolution}}]] [[filtered_detections/map/while/Switch_4/_1879]] (1) Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. [[{{node conv1/convolution}}]] 0 successful operations. 0 derived errors ignored. =========================================================================================== 2020-12-22 19:11:15.063791: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED 2020-12-22 19:11:15.069983: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Could not create cudnn handle: CUDNN_STATUS_ALLOC_FAILED ============================================================================================== CUDA Version이 11.2로 나오네요.. ============================================================================= from tensorflow.python.platform import build_info as tf_build_info print(tf_build_info.cuda_version_number) print(tf_build_info.cudnn_version_number) 10.0 7 => 이건 10.0으로 나옵니다. ============================================================================ 음.. 이건 10.2.89로 나오네요. ============================= 제가 nvidia 드라이버 설치하고 cuda는 10.0을 설치하고 cudnn은 7.4를 설치했습니다. 그리고 anaconda를 설치하고 ... 실행했는데 오류가 발생해서 검색을 좀 한후 아래의 명령어를 anaconda prompt에서 실행했습니다. conda install -c anaconda cudatoolkit conda install -c anaconda cudnn =================================================== 제가 검색하면서 이것 저것 한 것 같습니다. 한번 더 답변을 부탁드립니다.