묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결디버깅으로 배우는 RISC-V 아키텍처 -1부
T32에 관련해서
c드라이브에 이미 T32라는 폴더가 있습니다(회사에서 사용중이므로) 그러한 관계로 T32_edu라고 따로 폴더를 만들어서 진행해도 괜찮나요?맥북에서도 T32시뮬레이션을 사용할수 있나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)
3~4일 간격으로 CPU 99% 사용되는 문제
안녕하세요? 루키즈님 덕분에 서버에 대해 많은 것을 배우고 저만의 프로젝트도 개발하고 있는 개발자 입니다.(항상 감사하게 생각하고 있습니다.) 질문은3~4일 간격으로 CPU가 99% 사용되는 문제가 발생하여 원인 분석 차CPU가 99% 사용되는 현상이 발현된 시점에 visual studio 성능 프로파일러를 통한 결과를 얻었습니다.헌데 ServerCore.Listner.OnAcceptCompleted에서 많은 양의 CPU를 사용하고 있는 것으로 파악되는데실제로 Connect요청은 없었습니다.심지어 DummyClient를 이용해 1000명의 플레이어가 기본플레이 까지 했을때도 발생안하다가, 3~4일 후 아무도 접속안하고있는 시점에 발생합니다. 아래 RecvBuffer 코드와 diagsession 정보를 보시고 답변 부탁드립니다.혹여 정보가 부족하거나 추가로 확인 필요한 부분 말씀해주시면 다시 확인해서 질문드리겠습니다.감사합니다.diagsession 캡쳐화면RecvBuffer 코드buffer size : 65535public class RecvBuffer { ArraySegment<byte> _buffer; int _readPos; int _writePos; public RecvBuffer(int bufferSize) { _buffer = new ArraySegment<byte>(new byte[bufferSize], 0, bufferSize); } // [r] [] [] [w] [] [] [] [] [] [] [] 일때 // <Data>[r] [] []</Data> <Free>[w] [] [] [] [] [] [] []</Free> // read의 위치 public int DataOffset => _buffer.Offset + _readPos; // read ~ write까지의 사이즈 public int DataSize => _writePos - _readPos; // write의 위치 public int FreeOffset => _buffer.Offset + _writePos; // wirte ~ buffer의 마지막 public int FreeSize => _buffer.Count - _writePos; public ArraySegment<byte> ReadSegment => new ArraySegment<byte>(_buffer.Array, DataOffset, DataSize); public ArraySegment<byte> WriteSegment => new ArraySegment<byte>(_buffer.Array, FreeOffset, FreeSize); public void Clean() { int dataSize = DataSize; if (dataSize == 0) { // 남은 데이터가 없으면 커서 위치만 리셋 _readPos = _writePos = 0; return; } // 남은 데이터가 있으면 시작위치로 복사 Array.Copy(_buffer.Array, DataOffset, _buffer.Array, _buffer.Offset, dataSize); _readPos = 0; _writePos = dataSize; } public bool OnRead(int numOfBytes) { if (numOfBytes > DataSize) return false; _readPos += numOfBytes; return true; } public bool OnWrite(int numOfBytes) { if(numOfBytes > FreeSize) return false; _writePos += numOfBytes; return true; } }
-
미해결비전공자를 위한 컴퓨터 구조
1비트를 선택하는 MUX회로라고 말씀하셨는데, 여기서 1비트의 의미가 무엇인가요?
1비트를 선택하는 MUX회로라고 말씀하셨는데, 여기서 1비트의 의미가 무엇인가요?
-
해결됨[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
Keras_YOLO cpu inference error
안녕하세요 강사님. 저번에 친절하게 올려주신 답변을 보고 따라하는 중에 또 질문을 올리네요!! Keras-yolo를 데스크탑 gpu로 train해서 만든 .h5파일을 노트북 cpu로 inference 과정 중 문제가 생겼습니다. 모델 로드는 제대로 되었는데, Yolo의 detect_image()를 사용하여 inference 중 아레와 같은 에러가 발생하였습니다! 혹시 cpu에서 keras-YOLO는 사용이 불가능한 것일까요? -------------- 모델 학습 25회 학습 + validation 2회 진행 중 한번 끊겨서 중간 저장된 model_stage_1.h5로 5회 학습 + 5회 validation 진행한 결과입니다. train_yolo(pretrained_path, annotation_path,classes_path, anchors_path, log_dir,trained_model_name, b_size, epochs_cnt) pretrained_path: C:/JupyterNotebook/ClothClassified/model_data/cloth_stage_1.h5 Create Tiny YOLOv3 model with 6 anchors and 14 classes. Load weights C:/JupyterNotebook/ClothClassified/model_data/cloth_stage_1.h5. Freeze the first 42 layers of total 44 layers. Train on 28938 samples, val on 3215 samples, with batch size 2. Epoch 1/5 14469/14469 [==============================] - 2273s 157ms/step - loss: 17.7330 - val_loss: nan WARNING:tensorflow:From C:\Users\min96\anaconda3\envs\tf115\lib\site-packages\keras\callbacks\tensorboard_v1.py:343: The name tf.Summary is deprecated. Please use tf.compat.v1.Summary instead. Epoch 2/5 14469/14469 [==============================] - 2078s 144ms/step - loss: 17.6376 - val_loss: nan Epoch 3/5 14469/14469 [==============================] - 2094s 145ms/step - loss: 17.5342 - val_loss: nan Epoch 4/5 14469/14469 [==============================] - 2049s 142ms/step - loss: 17.6445 - val_loss: nan Epoch 5/5 14469/14469 [==============================] - 2042s 141ms/step - loss: 17.6296 - val_loss: nan Unfreeze all of the layers. Train on 28938 samples, val on 3215 samples, with batch size 2. Epoch 6/10 14469/14469 [==============================] - 2111s 146ms/step - loss: 14.0190 - val_loss: 5.6780 Epoch 7/10 14469/14469 [==============================] - 2111s 146ms/step - loss: 11.0151 - val_loss: 4.3427 Epoch 8/10 14469/14469 [==============================] - 2114s 146ms/step - loss: 9.7026 - val_loss: 7.6887 Epoch 9/10 14469/14469 [==============================] - 2115s 146ms/step - loss: 9.0433 - val_loss: 2.4560 Epoch 10/10 14469/14469 [==============================] - 2105s 146ms/step - loss: 8.5110 - val_loss: 7.9146 ------------- 모델 로드 cloth_tiny_yolo = YOLO(model_path=pretrained_path, anchors_path=anchors_path, classes_path=classes_path) C:/JupyterNotebook/model_data/cloth_final.h5 model, anchors, and classes loaded. ----------------------- train detected_img = yolo.detect_image(img) plt.imshow(detected_img) (192, 192, 3) --------------------------------------------------------------------------- UnimplementedError Traceback (most recent call last) ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in _do_call(self, fn, *args) 1364 try: -> 1365 return fn(*args) 1366 except errors.OpError as e: ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in _run_fn(feed_dict, fetch_list, target_list, options, run_metadata) 1349 return self._call_tf_sessionrun(options, feed_dict, fetch_list, -> 1350 target_list, run_metadata) 1351 ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in _call_tf_sessionrun(self, options, feed_dict, fetch_list, target_list, run_metadata) 1442 fetch_list, target_list, -> 1443 run_metadata) 1444 UnimplementedError: The Conv2D op currently does not support grouped convolutions on the CPU. A grouped convolution was attempted to be run because the input depth of 512 does not match the filter input depth of 1 [[{{node conv2d_49/convolution}}]] During handling of the above exception, another exception occurred: UnimplementedError Traceback (most recent call last) <ipython-input-23-b6fbc29987b5> in <module> 1 # with tf.device('/cpu:0'): ----> 2 detected_img = yolo.detect_image(img) 3 plt.imshow(detected_img) C:\JupyterNotebook\model_data\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 ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in run(self, fetches, feed_dict, options, run_metadata) 954 try: 955 result = self._run(None, fetches, feed_dict, options_ptr, --> 956 run_metadata_ptr) 957 if run_metadata: 958 proto_data = tf_session.TF_GetBuffer(run_metadata_ptr) ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in _run(self, handle, fetches, feed_dict, options, run_metadata) 1178 if final_fetches or final_targets or (handle and feed_dict_tensor): 1179 results = self._do_run(handle, final_targets, final_fetches, -> 1180 feed_dict_tensor, options, run_metadata) 1181 else: 1182 results = [] ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata) 1357 if handle is None: 1358 return self._do_call(_run_fn, feeds, fetches, targets, options, -> 1359 run_metadata) 1360 else: 1361 return self._do_call(_prun_fn, handle, feeds, fetches) ~\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\client\session.py in _do_call(self, fn, *args) 1382 '\nsession_config.graph_options.rewrite_options.' 1383 'disable_meta_optimizer = True') -> 1384 raise type(e)(node_def, op, message) 1385 1386 def _extend_graph(self): UnimplementedError: The Conv2D op currently does not support grouped convolutions on the CPU. A grouped convolution was attempted to be run because the input depth of 512 does not match the filter input depth of 1 [[node conv2d_49/convolution (defined at C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tensorflow_core\python\framework\ops.py:1748) ]] Original stack trace for 'conv2d_49/convolution': File "C:\Users\min96\anaconda3\envs\t115c\lib\runpy.py", line 193, in _run_module_as_main "__main__", mod_spec) File "C:\Users\min96\anaconda3\envs\t115c\lib\runpy.py", line 85, in _run_code exec(code, run_globals) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel_launcher.py", line 16, in <module> app.launch_new_instance() File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\traitlets\config\application.py", line 664, in launch_instance app.start() File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel\kernelapp.py", line 612, in start self.io_loop.start() File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\platform\asyncio.py", line 199, in start self.asyncio_loop.run_forever() File "C:\Users\min96\anaconda3\envs\t115c\lib\asyncio\base_events.py", line 442, in run_forever self._run_once() File "C:\Users\min96\anaconda3\envs\t115c\lib\asyncio\base_events.py", line 1462, in _run_once handle._run() File "C:\Users\min96\anaconda3\envs\t115c\lib\asyncio\events.py", line 145, in _run self._callback(*self._args) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\ioloop.py", line 688, in <lambda> lambda f: self._run_callback(functools.partial(callback, future)) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\ioloop.py", line 741, in _run_callback ret = callback() File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 814, in inner self.ctx_run(self.run) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 775, in run yielded = self.gen.send(value) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel\kernelbase.py", line 365, in process_one yield gen.maybe_future(dispatch(*args)) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 234, in wrapper yielded = ctx_run(next, result) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel\kernelbase.py", line 268, in dispatch_shell yield gen.maybe_future(handler(stream, idents, msg)) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 234, in wrapper yielded = ctx_run(next, result) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel\kernelbase.py", line 545, in execute_request user_expressions, allow_stdin, File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 234, in wrapper yielded = ctx_run(next, result) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\tornado\gen.py", line 162, in _fake_ctx_run return f(*args, **kw) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel\ipkernel.py", line 306, in do_execute res = shell.run_cell(code, store_history=store_history, silent=silent) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\ipykernel\zmqshell.py", line 536, in run_cell return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\IPython\core\interactiveshell.py", line 2867, in run_cell raw_cell, store_history, silent, shell_futures) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-packages\IPython\core\interactiveshell.py", line 2895, in _run_cell return runner(coro) File "C:\Users\min96\anaconda3\envs\t115c\lib\site-pa
-
해결됨홍정모의 따라하며 배우는 C언어
컴퓨터의 구성요소 역할 질문
1. 주 기억장치(=메모리)가 전원을 끄면 데이터가 사라지잖아요. 그래서 전원을 꺼도 데이터가 저장되는 보조기억장치로 보완한다는데 CPU(연산을 하는 부분)는 보조기억장치에 직접 접근할 수 없어서 주 기억장치랑만 왔다갔다한다는데 그러면 CPU는 전원이 켜져있을 때만 작동하고, 주 기억장치랑만 왔다갔다하므로 얘도 전원을 키면 주 기억장치 처럼 데이터가 싹 사라지나요?? 맞다면 전원이 꺼져있는 상태라면 운영체제나 그 외 데이터 이런것도 싹 없는 상태이고 전원을 킬때마다 보조기억장치에서 꺼내쓰는거겠네요? 맞나요? 2. 근데 강의 도중 메모리(=주 기억장치)가 저장을 하는 기능이라고 말씀하신 것 같은데 얘는 전원을 끄면 데이터가 싹 사라지잖아요...? 근데 보조 기억장치는 안사라지잖아요. 그럼 데이터를 저장하는 기능하는 것은 보조 기억장치 아닌가요? 그리고 또 정리하자면 저장하는 기능= 보조기억장치 주기억장치는 그냥 속도를 빠르게하는 역할 및 CPU에 정보를 전달하는 역할 인건가요? 3. RAM은 주 기억장치에 속한 장치인가요? 임의 접근이 가능한 메모리 라고 하셨는데 정확히 무엇을 접근하는건지 모르겠어요. 4. 그래픽카드는 그냥 계산량을 늘리는 역할을 하는건가요? 5. FDD와 자기테이프의 역할은 뭔가요? (그냥 어원만 알려주셔서..ㅠㅠ) 6. CPU에서 레지스터가 메모리처럼 저장을 하는 부분이라는 말인가요?.. 그니까 연산말고도 저장도 한다는 말인가요? 그 저장되는건 메모리에서 얻은 정보들? 죄송해요 처음 공부하는거라 궁금한 것이 산더미네요ㅠㅠ 뭔가 자세히 설명은 안해주신 것 같은데 지금 수준에서는 필요 없어서 그런건가요??