Deep learning 43

RESTFUL API 작성

[ REST API 설계 규칙 ] - URI는 정보의 자원을 표현해야함 ( 리소스 명은 동사보다 명사를 사용) - 자원에 대한 행위는 HTTP METHOD(GET, POST, PUT, DELETE )로 표현 - 관계명이 복잡하다면 이를 서브 리소스에 표현 -> 예를 들어 사용자가 좋아하는 디바이스 목록을 표현해야할 경우 GET : /users/{userid}/likes/devices (관계명이 애매하거나 구체적 표현이 필요할 때) - 컬렉션은 문서들의 집합, 객체들의 집합을 나타냄 (단/복수도 지켜준다면 좀 더 이해하기 쉬운 URI를 설계할 수 있음) sports라는 컬렉션과 soccer이라는 도큐먼트로 표현하고 있음 컬렉션은 sports로 복수로 나타내고 있음 /sports/soccer/players/..

server setting 서버 세팅 ulimit

ulimit 이란? ulimit는 프로세스의 자원 한도를 설정하는 명령, soft한도,hard한도 두가지로 나뉨 soft : 새로운 프로그램을 생성하면 기본으로 적용되는 한도 hard : 소프트한도에서 최대로 늘릴 수 있는 한도 apache 와 같이 웹 서비스를 운영 시 동접자가 많은 경우 구동되는apache 프로세스 수와 해당 프로세스가 처리하게되는 파일 수 또한 증가 하게 됩니다. * ulimit [옵션] 값 ( Centos , RHEL 기준) -a : 모든 제한 사항을 보여줌. -c : 최대 코어 파일 사이즈 -d : 프로세스 데이터 세그먼트의 최대 크기 -f : shell에 의해 만들어질 수 있는 파일의 최대 크기 -s : 최대 스택 크기 -p : 파이프 크기 -n : 오픈 파일의 최대수 -u :..

Ensemble - hard vote , soft vote

Voting - 다른 알고리즘 model을 조합해서 사용 - 서로 다른 알고리즘이 도출해낸 결과물에 대해 최종 투표하는 방식을 통해 최종 결과를 선택 1. hard vote : 결과물에 대한최종값을 투표 ex) 분류를 예측한 값이 1, 0, 0, 1, 1 이었다고 하면 1이 3표 0이 2표를 받았기 때문에 Hard voting 에서는 1이 최종값으로 예측함. 2. soft vote : 최종 결과물이 나올 확률값을 다 더해서 최종 결과물에 대한 각각의 확률을 구하여 최종값 도출. soft vote가 hard vote 보다 더 합리적이라는 것이 대세 ex) class 0이 나올 확률이 (0.4, 0.9, 0.9, 0.4, 0.4) 이었고 class 1이 나올 확률이 (0.6, 0.1, 0.1, 0.6, 0...

Tensorflow 2.0 prediction model.predict vs model( .. , training =False) 차이

서버에서 도커 열고 도커이미지로 컨테이너 생성해서 안에있는 이미지들을 예측하는 프로세스다. 근데 도커를 여는데에만 약 15초가 걸리고 모델 로드는 약 4초가 걸렸다. 왼쪽은 각 배치 수행시간 오른쪽은 누적 수행시간이다. 여기서 문제는 첫번째 배치의 수행시간이 첫번째사진에서는 약 78초 오른쪽 사진에서는 약 4초가 걸린다. 첫번째 배치를 열어줄때는 model.predict코드를 보면 make_predict_fucnction()코드 때문에 시간이 오래 걸릴 수 있지만 마지막 배치의 경우 어떠한 이유때문에 수행시간의 차이가 있는지 더 찾아봐야 할 것 같다. 1) model.predict(X) ouput을 numpy로 변환 2) model(X, training = False) ouput을 텐서플로 객체 그대로 ..

[Error] failed with initial frozen solve

Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source. Collecting package metadata (repodata.json): done Solving environment: failed with initial frozen solve. Retrying with flexible solve. Solving environment: - failed tensorflow 를 설치하는 와중에 뜬 에러 설치를 중간에 Conto..

BatchNormalization (Transfer Learning, Trainable 설정 )

Transfer Learning 을 할때에 BatchNormalization layer를 학습시키는지 아닌지에 따라서 결과차이가 차이남 from tensorflow.keras import layers f1 = tfa.metrics.F1Score(num_classes = CLASSES, average='macro') x = tf.keras.layers.Input(shape=(400,400,3), name = "image") base_model = tf.keras.applications.EfficientNetB3( include_top=False, weights='imagenet',input_tensor = x) base_model.summary() for layer in base_model.layers: ..

Deep learning 2021.09.15