인공지능
데이터 전처리와 Augmentation(증가) // 인공지능 논문리뷰
모델이 적은 이미지에서 최대한 많은 정보를 뽑아내서 학습을 할수 있도록 이미지를 augmentation을 진행한다. 이미지를 사용할때마다 임의로 변형을 가함으로써 더 많은 이미지를 보고 공부하는것과 같은 효과를 낸다. 이를 통해 과적합을 방지할수있다. 현재 텐서플로우의 경우 https://hoya012.github.io/blog/Bag-of-Tricks-for-Image-Classification-with-Convolutional-Neural-Networks-Review/
epochs/batch size
epochs = 학습횟수 예를들어 epochs이 40이면 전체데이터를 40번 사용해서 학습을 거치는것 epochs 이 너무 높으면 오버피팅이 일어나고 너무 적으면 언더피팅이 일어나니 잘맞춰줘야됨 batch size 메모리 한계와 속도저하때문에 한번의 epoch에서 모든 데이터를 한껍너에 집어넣을 수없다. 그래서 데이터를 나누어서 주게된다 이때 몇번 나누어서 주는가를 iteration이라고한다. 각 iteration마다 주는 데이터사이즈를 batch size라고 한다. --batch size 장단점 줄임으로써 얻는점 1.필요한 메모리 감소 전체 데이터를 쪼개어 여러번 학습하는것이기 때문에 최소 요구 메모리량을 줄일수있다. 2.학습속도 향상 한번의 propagation 후 weight가 갱신되는데 batch..
Tensor란?
1. Tensor란? 텐서란 매우 수학적인 개념으로 데이터의 배열이라고 볼 수 있습니다. 텐서의 Rank는 간단히 말해서 몇 차원 배열인가를 의미합니다. 스칼라는 일반적으로 존재하는 그냥 값(1개)입니다. 벡터는 스칼라가 여러개 모인것이며 차원이 높아질 수록 아래 차원의 것을 모아 놓은 배열인 것이라고 할 수 있습니다. scalar 0차원 vector 1차원 matrix vector의 집합 2차원 tensor matrix의 집합 3차원부터시작. 1. Tensor는 배열의 집합이다. 2. 차원의 수는 Rank와 같은말이다. 3. 배열의 차원에따라 불리는 이름이 달라진다.
tensorflow 기본문법(placeholder/variable/constant)
텐서플로우(Tensorflow) 기본 문법 placeholder 선언과 동시에 초기화 하는것이 아니라 일단 선언후 그다음값을 전달한다. 따라서 반드시 실행시 데이터가 제공되어야한다. 정확히 다른 텐서를 placeholder에 맵핑 시키는것 전달 파라미터 placeholder( dtype, shape=None, name=None ) dtype :데이터 타입을 의미하며 반드시 적어줘야함 shape : 입력 데이터의 형태를 의미한다. 상수값이 될수도있고 다차원 배열의 정보가 들어올수도있다.( 안적어도됨 defalut로 none) name : 말그대로 placeholder에 이름을 부여하는것 (안적어도됨 defalut로 none) ex) mat_img = [1,2,3,4,5] label = [10,20,30,4..
CNN / Faster R-CNN
내가 이해한것을 바탕으로 작성예정 계속 수정할생각이다! 컴퓨터 비전을 딥러닝으로 많이한다 . 그중 Object Detection에 많이 사용 .(위치와 분류를 잘해야됨) Faster R-CNN 은 정말 빠른가 ? 실제로는 R-FCN 과 SSD 보다 느리지만 정확하다.(성능이좋다) 간단히. 1.이미지 넣기 2.바운딩 박스들을 뽑아낸다. 3.뽑아낸 바운딩 박스들을 크롭한후 하나하나를 cnn에 집어넣는다. 4.분류한다. 일단.. P는 내가 뽑아낸 ROI의 좌표 . G는 정답의 좌표. 밑의 식은 G가 정답이니 최대한 P들이 정답에 가까워 질수있게 하는 식이라고 생각하면되겠다. R-CNN 의 단점 -가장큰단점 느리다. 이것을 개선한게 Fast R-CNN Fast R-CNN 많은설명이 있는데.. 일단 fast-Rc..
TFRecord
https://bcho.tistory.com/1190 Tensorflow Object Detection APi를 사용해서 학습을 시키려면 데이터 포맷을 TFRecord 포캣으로 변경해야한다. TFRecord 파일은 텐서플로우의 학습 데이타 등을 저장하기 위한 바이너리 데이타 포맷으로, 구글의 Protocol Buffer 포맷으로 데이타를 파일에 Serialize 하여 저장한다. CSV 파일에서와 같이 숫자나 텍스트 데이타를 읽을때는 크게 지장이 없지만, 이미지를 데이타를 읽을 경우 이미지는 JPEG나 PNG 형태의 파일로 저장되어 있고 이에 대한 메타 데이타와 라벨은 별도의 파일에 저장되어 있기 때문에, 학습 데이타를 읽을때 메타데이타나 라벨용 파일 하나만 읽는 것이 아니라 이미지 파일도 별도로 읽어야 ..
object_detection_api (with rbox-cnn) 환경설정
@@@@@@ 대회용 참고자료 @@@@@@ GCP (구글클라우드 ) https://jeinalog.tistory.com/8 tfrecords 생성 =2646 2차학습이미지 갯수 . python create_dataset.py \ --src_dir=train_image2_compression \ --dst_path=images/data/train2_p100.tfrecords \ --object_fraction_thresh=0.7 \ --is_include_only_pos //src_dir 폴더의 루트를 정해좀 //dst_path 만들어지는경로 내꺼 인퍼런스 돌릴떄 설정파일 / 모델/이미지경로/결과파일 python inference.py \ --pipeline_config_path=configs/rbox_cn..
파이썬, 아나콘다 , 텐서플로우
텐서플로우 버전확인 $ python > import tensorflow as tf > tf.__version__ tensorflw / meta graph , chekpoint 란? https://m.blog.naver.com/PostView.nhn?blogId=kkes0220&logNo=221642888780&proxyReferer=https%3A%2F%2Fwww.google.com%2F tensorflw model을 표현하기위한 2가지 컴포넌트가 필요하다 . meta garph, checkpoint 오리지날 python train.py --pipeline_config_path='Path to a config file of the model' --train_dir='Directory to save the..