분류 전체보기

· JAVA
Java로 프로그래밍하는 경우 IDE의 선택지가 좀 있는 편인데 저는 Eclipse를 사용합니다. 사람들은 그 무거운 거 왜 쓰냐 차라리 IntelliJ 쓰지 라고 하는데 회사에서도 이걸로 개발 읍읍 적응되고 단축키도 알아가니 생각보다 좋습니다. 무튼 Eclipse 시리즈의 첫 글로 디버깅에 대해 이야기를 해보고자 합니다. 학부 때 학교에서 잘 안 알려주는 것 중 하나가 디버깅입니다. 맨날 디버깅하라고 하는데 알려주지는 않더라고요. 그래서 정말 간단한 정도로만 여기에 사용법 정도로 올릴테니 반드시 읽어주셨으면 좋겠습니다. 근데 디버깅이 뭔지 모를 수 있어요. 저도 정의는 잘 몰라요.. 꺼무.. 아니 나무위키에서 설명된 글을 옮겨봤습니다. 디버그(Debug)는 프로그래밍 과정 중에 발생하는 오류나 비정상적..
회사에서 비전 딥러닝을 담당하고 Tensorflow Object Detection API를 사용하던 중 훈련 중에 발생한 에러들이 있다. 모두에게 반드시 통용되지는 않겠지만 일부 나와 같은 오류를 겪고 헤매는 사람들을 위해 올린다. 1. Invoke with: None, value error 위와 같은 에러는 명령어를 입력할 때 argument에 값을 잘못 넣은 경우이다. 오타 혹은 경로에 문제가 있는지 다시 확인하면 잘 고쳐졌다. 2. loss = nan loss값이 nan으로 찍히는 경우가 있다. 이는 total step이나 learning rate를 높게 설정하면 발생하는 문제로 역전파 과정에서 값이 증폭되며 loss에 찍힐 수 있는 값의 범위를 넘어가면 발생한다고 한다. total step을 무작..
알 수 없는 알고리즘으로 해당 사이트로 접근했다면 이전 글들을 읽고 오시기 바랍니다. developer-youn.tistory.com/35 developer-youn.tistory.com/36 이번 글은 크게 어려움이 없었습니다. 그래서 전체적으로 어떻게 진행했는지 작성하는 글입니다. 여기까지 따라오신 분들을 위해 현재 과정의 대략적 구조를 보여드리겠습니다. 8. 데이터 레이블링과 포맷 변환 데이터 레이블링은 labelImg 를 이용해서 진행합니다. 학습 데이터는 xml파일로 저장이 되며 아래 글은 labelImg를 통해 각 이미지 별 xml파일이 생성되었다는 가정하에 작성을 하겠습니다. xml파일을 csv파일을 거쳐 record파일로 만들기 위해 아래 코드를 clone합니다. git clone 이미지 ..
· JAVA
GC관련 혹은 JVM 관련해서 살펴볼 때 -XX:+~~~ 와 같은 문장을 본 적이 있을 것이다. 이게 도대체 뭔지 궁금해서 검색을 해보았더니 JAVA Hotspot VM에서 사용하는 Option설정 예약어였다. 아래 내용은 오라클에서 제공하는 Hotspot VM의 vmoptions 페이지에서 일부를 옮겨와 번역하였다. -XX란? 원문 - Options that begin with -X are non-standard (not guaranteed to be supported on all VM implementations), and are subject to change without notice in subsequent releases of the JDK. - Options that are specified..
· JAVA
이 글을 쓰면서 너무 중구난방 한 글을 작성하지 않나 하는 생각이 머릿속을 계속 접근하고 있습니다.. class 파일의 내부 정의 키워드를 넣지 않는 등 일부 당장 필요가 없다고 판단되는 부분들을 임의로 삭제한다고 삭제하였는데 과연 좋은 판단이었는지에 대해서는 더 생각해보고 이 글을 수정하겠습니다. 0. 들어가며 JVM은 Java Virtual Machine의 약자이다. Virtual Machine이라는 단어에 주목해야한다. VM이라는 건 프로그램을 실행하기 위해 물리적 머신(즉, 컴퓨터)과 유사한 머신을 소프트웨어로 구현한 것을 말한다고 할 수 있다. 요즈음에 와서는 JAVA의 목적성에서 변색된 개념(왜 변색되었다고 말하는지는 추후 조사하여 작성하도록 하겠다..)이긴 하지만 자바는 원래 WORA(Wri..
알 수 없는 알고리즘으로 해당 사이트로 접근했다면 바로 전 글을 읽고 오시기 바랍니다. developer-youn.tistory.com/35 눈물없이는 볼 수 없는 회사 딥러닝 프레임워크 업데이트 모험기(1) 0. 들어가며 회사에서 맡은 제품 중 딥러닝으로 Objet Detection을 이용하는 제품이 있다. 이번에 성능 개선을 위해 tensorflow2.x버전으로 업데이트를 하려고 한다. 단순히 tensorflow버전을 올린다고 성능 developer-youn.tistory.com 4. protobuf 설치 내가 참고했다던 사이트를 따라하면서 했는데 protobuf에서 정상동작을 하지 않았다. 기존 tf1환경에서는 튜토리얼에 있는 proto보다 더 낮은 버전을 사용했던 기억이 나서 해당 버전으로 설치를..
0. 들어가며 회사에서 맡은 제품 중 딥러닝으로 Objet Detection을 이용하는 제품이 있다. 이번에 성능 개선을 위해 tensorflow2.x버전으로 업데이트를 하려고 한다. 단순히 tensorflow버전을 올린다고 성능이 좋아지지는 않겠지만 Tensorflow object detection model zoo에 있는 모델 중 성능이 괜찮은 것들은 tensorflow2로 되어있어 이번에 업데이트를 하려고 한다. 서버도 없고 그래픽카드도 없고 딥러닝 지식도 거의 없는 상황에서 맨땅에 헤딩하며 업데이트한 모험기 지금 시작합니다. 1. 그래서 어떻게 시작하라고요? 일단 가장 큰 문제는 서버였다. 내 컴퓨터에 그래픽 카드를 추가하면 되지 않냐 라고 할 수 있겠지만 라이젠 그래픽카드 소켓이여서 CUDA가 ..
· 책 리뷰
이번에 길벗출판사 14차 리뷰어에 선정되어 [자바 코딩의 기술] 책을 받고 리뷰를 하게 되었다. 1. 책의 크기 실은 책의 페이지 수와 크기가 생각보다 중요하다고 생각한다. 너무 크고 양이 많으면 부담스럽고 너무 작고 양이 적어도 내용이 부실할 수 있는데 적당한 크기에 부담 없이 읽을 수 있는 양이였다. 2. 책의 내용 작년에 회사에 입사하여 1년동안 자바 개발자로 지내면서 느낀 점을 이번에 이 책과 비교해보려는 목적이 강했다. 책 표지의 아래에 적혀있는 문구 "현장에서 뽑은 70가지 예제로 배우는 코드 잘 짜는 법" 이란 말처럼 자바 언어로 코딩을 하는 데 있어 코드를 깨끗하게 짜는 방법과 여러 팁을 알려주고 있다. 책의 내용에서 '아니 이걸 적어놨네?' 라고 감탄하며 봤던 부분은 java doc 부분..
이 글은 내 1년차 개발자 회고 이다. 0. 들어가며 올해는 내가 회사에 입사해서 개발자로 일을 한 첫해로 모든 게 낯설고 신선했다. 그때 내 마음은 다음 문장으로 표현할 수 있었다. "내가 학교가 아니라 현업 실무에 투입된다고? 기능이 아니라 버그를 만들 것 같은데ㅎㅎ" 그리고 예상은 벗어나지 않았다. 1. Hello Wor.. 아니 Company! 정확히는 12월부터 입사해서 한 달 동안 교육을 받고 1월부터 실무에 투입되었다. 내가 배치된 팀에서 사용하는 주 언어는 JAVA였고 주 프레임워크는 Eclipse RCP를 사용했다. 얕게 공부를 해왔던 탓에 사용할 줄만 알지 JAVA가 어떤 언어인지는 하나도 모르고 객체지향 프로그래밍도 못하는 상태(디자인 패턴도 몰랐다.)에서 실무에 적응하는 과정은 재미..
· JAVA
org.eclipse.ui.internal.console.IOConsolePartitioner 자바로 GUI프로그램(SWT, JFace, RCP)을 만들 때 IOConsole을 붙여 사용하는 경우가 있는데 해당 버퍼사이즈가 초과되면 OOM(Out Of Memory)가 나타난다. 이를 설정하기 위해 해당 클래스에는 setWaterMarks라는 함수가 있다. 해당 함수의 javadoc과 함수 형태는 다음과 같다. /** * Sets the text buffer size for this console. The high water mark indicates * the maximum number of characters stored in the buffer. The low water mark * indicates..
Berno
'분류 전체보기' 카테고리의 글 목록 (12 Page)