본문 바로가기

전체 글

(68)
일반 Activity와 AppCompatActivity의 차이는 무엇인가? 하나의 언어나 하나의 프로그램 정착 못하고 항상 새로운것에 대한 공부를 하고 코드를 고치고있다. 개발쪽이외에 일을 안하니까 공부라고 생각하고 이것저것 도전중이다. 안드로이드 스튜디오 앱을 수정 중에 메인을 작성 중 참고하려는 다른 코드와 다른점을 찾아내었다. 상속(extend)받을 때 내코드는 AppCompatActivity를 상속받지만 참고하려는 코드는 Activity를 상속받는다. 그 차이를 살펴보니 나의코드 public class MainActivity extends AppCompatActivity { } 참고하려는 코드 public class MainActivity extends AppActivity { } AppCompatActivity는 안드로이드 하위버전을 지원하는 액티비티이고 기본 Acti..
딥러닝 프로젝트 결과 보고서
Dense 레이어 (Keras)등등 캐글과 CCTV프로젝트로 알게되거나 되짚은 내용 (Tensorflow2.0)(Keras) Dense 레이어는 입력과 출력을 모두 연결해줍니다. 예를 들어 입력 뉴런이 4개, 출력 뉴런이 8개있다면 총 연결선은 32개(4*8=32) 입니다. 각 연결선에는 가중치(weight)를 포함하고 있는데, 이 가중치가 나타내는 의미는 연결강도라고 보시면 됩니다. 현재 연결선이 32개이므로 가중치도 32개입니다. 예를 들어 성별을 판단하는 문제있어서, 출력 뉴런의 값이 성별을 의미하고, 입력 뉴런에 머리카락길이, 키, 혈핵형 등이 있다고 가정했을 때, 머리카락길이의 가중치가 가장 높고, 키의 가중치가 중간이고, 혈핵형의 가중치가 가장 낮을 겁니다. 딥러닝 학습과정에서 이러한 가중치들이 조정됩니다. 이렇게 입력 뉴런과 출력 뉴런을 모두 연결한다고 해서 전결합층이라고 불리고, 케라스에서는 Dense라는 클래스..
yolo를 이용한 영상 객체인식 아마 프로젝트진행에 사용될 것 같은 yolo python을 쓰고 있기때문에 darknet 이 아닌 darkflow를 이용 하지만 내가 트레이닝 시킨 셋도 없고 단순히 갖다썼기 때문에 엉망으로 나온다 . 출처 : https://www.youtube.com/user/cctvSAI
디자인 패턴 SourceCode main.java package j; public class Main { private static final int TICKET_NUM = 15; //티켓 개수 정의 public static void main(String[] args) { Manager mgr = Manager.getTicketManager(); mgr.setTicketLimits(5); //최대 티켓 개수 UserThread[] user = new UserThread[TICKET_NUM]; for(int i = 0; i
스트래티지 패턴(Strategy pattern) 스트래티지 패턴은 전략을 쉽게 바꿀 수 있도록 해주는 디자인 패턴이다.(객체지향언어) 그 말이 무엇이냐면 예를 들어 로봇이라는 코드를 짠다고 가정하자. 로봇에 종류에는 아톰,태권v가 있다. 아톰은 날아다니면 걸을 수도있고 태권v는 걸을 수 있고 있고 뛸수도있다. 만약 아톰의 클래스에 날수(fly) 있고 걸을 수있는 코드(walk)가 있다고 뛰기(run)의 코드를 추가시킬 때 아톰의 기존코드를 변경해주어야 한다 . 만약에 무빙(moving)이라는 상위 이동방식에 관한 인터페이스 클래스를 생성하고 그 방식에 따라 여러 가자의 하위 클래스(fly,walk,run) 등의 클래스를 생성해두면(캡슐화) 이동방식의 변경은 메인함수의 호출 클래스 변경으로 간단히 변경될 수 있다. 스트래티지 패턴을 적용하여 작성한 코드..
Python - Machine Running ####### test 이미지 만들기 ####### test_digits= cv2.imread('./Data/digits.jpg') #크기확인 re_digits= cv2.resize(test_digits,(int(test_digits.shape[1]*0.2), int(test_digits.shape[0]*0.2))) #사이즈 줄이기 crop_digits=re_digits[0:int(re_digits.shape[0]-10), 15:int(re_digits.shape[1]-40)] #불필요한부분 자르기 gray_digits = cv2.cvtColor(crop_digits,cv2.COLOR_BGR2GRAY)#그레이화 retval,bin_digits= cv2.threshold(gray_digits, 170, 2..
신경망 신경망의 능력은 토폴로지(topology)나 서로 연결된 뉴런의 구조와 패턴에 바탕을 둔다. 망형태의 3가지 특성 - 층(layer)의 개수 - 망에서 정보가 뒨단(backward)으로 전파될 수 있는지 - 망의 각 층 내에 있는 노드 개수 토폴로지는 망이 학습해야 할 태스크의 복잡성에 좌우됌 각 층의 노드 수 - 층의 개수와 정보 진행 방향과 더불어, 각 층의 노드 개수에 따라 복잡성이 다양해진다. - 입력노드의 수는 입력데이터의 속성 개수로 결정 - 출력 노드의 수는 결과의 분류 개수나 모델의 결과 수로 결정 - 모델을 시작하기 전 은닉층의 노드 개수를 결정하지만, 적당한 은닉층의 노드 개수를 결정하는 규칙은 없다. 역전파로 신경망 훈련 역전파 알고리즘 -전방향 단계에서 뉴런은 입력 층에서 출력 층으..