What I Do 17

keras에서 layer의 weight를 업데이트하지 않고 고정하기

keras(텐서플로)로 모델을 생성하고, fine tunning을 위해서 일부 layer의 weight는 update하지 말고 마지막 layer만 업데이트 한다든지 모두 fix(freeze)한다음 마지막에 layer를 추가한다든지 할때 유용한 기법이다. (fix나 non-update로 표현하지 않고 freeze한다는 표현을 쓰는 것 같다.) 방법은 매우 간단하다. layer.trainable = False 해주면된다. model = Sequential([ ResNet50Base(input_shape=(32, 32, 3), weights='pretrained'), Dense(10), ]) model.layers[0].trainable = False # Freeze ResNet50Base. assert mo..

grep을 쓰다 보면 매칭된 부분의 위, 아래 몇 줄을 더 보고 싶을 때가 있다.

grep을 쓰다 보면 matching된 부분의 위 또는 아래 몇 줄을 더 출력해서 봐야할 때가 있다. 그럴 때, 유용하다. A, B, C 옵션을 아래와 같이 사용하면 N줄이 출력된다. grep -A N -B N -C N A는 뒤로 N줄 B는 앞의 N줄 C는 앞,뒤로 N줄 -B, --before-context=NUM print NUM lines of leading context -A, --after-context=NUM print NUM lines of trailing context -C, --context=NUM print NUM lines of output context

ValueError: too many values to unpack (expected 2) request.post(data=params)

python으로 request.post에 data에 JSON 데이터를 넘겼을 때, 아래와 같은 에러가 발생함. ValueError: too many values to unpack (expected 2) JSON List Array인데, 내부에 key-value pair가 여러개 있으면 안된다. 즉, [{"K1":"V", "K2":"V2","K3":"V3"}, {"K1":"V", "K2":"V2","K3":"V3"}] 이 형태는 안됨. https://requests.readthedocs.io/en/latest/api/ data – (optional) Dictionary, list of tuples, bytes, or file-like object to send in the body of the Reques..

pandas] DataFrame vs. Series

DataFrame을 사용하다 보면 Series type이 리턴될 때가 종종 있다. DataFrame와 Series의 차이는 뭘까? DataFrame이 Series의 상위 호환이라고 생각하면 쉽다. Series는 column의 개수가 1개이다. (쉽게 key-value형태로 사용할 수 있음 serries.to_dict() 하면 됨.) DataFrame은 column의 개수가 N개가 가능하다. Series를 DataFrame으로 바꿀땐, Series.to_frame('column_name')으로 변경하면 된다. series.to_frame('column_name') 참고 사이트: https://stackoverflow.com/questions/26047209/what-is-the-difference-betw..

맥북 업데이트 이후 xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)

맥북을 iOS 16으로 업데이트 이후 git 명령어를 입력하면 오류가 발생해서 검색하니, 업뎃하면 자주 발생하는 일이란다. xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun 아래와 같이 터미널에서 command를 입력후 설치하면 해결된다. xcode-select --install https://apple.stackexchange.com/questions/254380/why-am-i-getting-an-invalid-active-developer-path-when-attempting-to-..

iOS / 맥북 / 맥 / 아이폰 / 붙여넣기 팝업이 계속 나온다면...

iOS / 맥북 / 맥 / 아이폰 / 붙여넣기 팝업이 계속 떠서 짜증이 났다... iOS 16 업데이트 이후 이런 현상이 생겼던 것 같다. 결론은 설정 -> 팝업이 발생하는 앱 선택 -> "다른 앱에서 붙여넣기" 항목 -> "허용" 으로 선택해주면 발생하지 않는다. "묻기"로 선택되어 있는 것을 "허용"으로 변경! 본인은 편안한가계부에서 계속 발생... 특히 노타빌리티에서 계속 발생했다. 맥북에서 복사해서 아이패드 notability 에 붙여 넣으면 아래 그림처럼 팝업이 계속 떠서 짜증나게했음.. 'Notablility'이(가) 'MacBook Air M1'에서 붙여넣으려고 함. 이 동작을 허용하겠습니까? 심지어 허용을 해도... ㅋㅋ 사진 삽입 오류.... 사진 삽입을 위해 크기를 조정하는 동안 Not..

Java script 아마추어

프론트엔드 공부 및 웹을 좀 알고 싶어서 시작함. 나는 참고로 C, JAVA, Python의 기본기는 있다고 판단되어서, 나중에 내가 기억하기 쉽도록 유사하지 않는 것들 위주로 정리함. 혹시 누군가 나와 같은 사람이 있다면 아래 노트만 한번 훑으면 대충 자바 스크립트에 대한 이해가 될수 있지 않을까 생각함. * 동영상 강의는 유튜브 강의 에서 3시간 반짜리인데 1.5배속으로 훑었음. (언어에 대해서 빠르게 훑어주는 것 처럼 보이는 강의를 찾던 도중 적절한 길이로 생각되서 보게 되었음) https://www.youtube.com/watch?v=adioo1lv8fs * 강좌에 대한 내용은 https://github.com/woorim960/modern-javascript-from-amateur-to-pro/..

python 실행 후 shell 종료 시키지 않고 계속 사용하기

import code code.interact(local=locals()) jupyter lab / notebook 같은 걸 보면 kernel을 종료하지 않으면 variable 같은 것들을 계속 확인할 수 있고, 추가로 여러 code를 더 확인해 볼 수 있는데, py 파일로 실행 시키면 해당 동작을 할 수가 없다. 물론 디버깅으로 하면 되지만 간단히 확인하고 싶을 때, shell이 종료되지 않았으면 할 때가 있다. 이럴 때 위의 code를 사용하면 해당 코드가 삽입 된 위치에서 user와 interaction하는 shell mode가 발동 된다. 여러 곳에 쓰면 해당 라인에서 shell이 나온다. (shell에서 나올때는 contrl + d는 동일함)

ubuntu service 등록 하기 (flask service 등록 하기)

서비스 생성은 2가지만 하면 된다. 1. /etc/systemd/system 아래 아래와 같은 내용으로 파일을 생성함. 파일 이름은 : 서비스_이름.service 로 하면 보기 좋다. Unit] Description=discription! # 여기에 서비스에 대한 설명 [Service] PIDFile=/run/service_name.pid #service_name 쓰세요. User=user # user id 로 변경 ExecStart=/home/user/anaconda3/envs/flask/bin/python /home/user/workspace/flask_web.py WorkingDirectory=/home/user/workspace/ # Restart=on-failure # 실패 시 재시작을 자동으로..

rsa key를 사용할때 마다 계속 비번을 물어보는 것 없애기

rsa key를 사용할 때 마다 귀찮게 물어본다. 특히 git push / git pull 할때 마다 물어봄. 아래와 같이 간단히 bashrc 만 바꾸면 1번만 물어보고 재시작되기 전까지는 다시 물어보지 않는다. 매번 아래와 같이 물어봄.. Enter passphrase for key '/home/user/.ssh/id_rsa': 해결은 ~/.bashrc 파일 가장 아래에 아래 내용을 추가하면 된다. # >>> ssh-agent initializing >>> SSH_ENV="$HOME/.ssh/env" function start_agent { echo "Initialising new SSH agent..." /usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV..