GIT SourceTree 이 커밋까지 브랜치를 초기화
GIT 작업을 하다 보면 파일이 Conflict 나는 경우가 왕왕 있다.
소스 버전 관리가 다 그렇지..
GIT 은 SVN 과 다르게 Push Pull 을 해줘야 하는데
커밋은 했지만 Push를 할 수 없게 충돌난 경우 내 Push 를 버리는 방법이다.
SourceTree 기준으로 설명하면
1. 브랜치 선택
2. 그래프 화면에서 원하는 복귀지점 클릭
3. 복귀 지점에서 우클릭
4. 이 커밋까지 현재 브랜치를 초기화
누르면 3가지 메뉴가 뜨는데,
가장 아래 모두 초기화가 Hard Reset 이다.
내 데이터를 모두 깡그리 날리고 초기화 시키므로 주의가 요구되지만
꼬이는게 더 싫은 경우(보통 이게 더 문제긴 하다..)
이 옵션을 이용하면 초기화를 쉽게 할 수 있다.
2018년 9월 27일 목요일
2017년 2월 1일 수요일
BossSensor - 얼굴 화상 인식을 이용한 월급 루팡 프로그램을 직접 실행해보았다. (수정내용 첨부)
점심시간이 끝나고 지루한 오후...
우리 팀에서 제일 재밌는 분이 팀 단체 쪽지를 보냈다.
쪽지 : 케이! 케이!! 이것 좀 만들어줘!!!"
나 : ㅋㅋㅋㅋ
----------------------------
오늘의 유머 사이트
제목 : 월급 루팡을 하려는 프로그래머
내용은 단순하게 보면 Face Recognize 샘플인데 가까운데,
저런 재밌는 아이디어를 생각만으로 끝내지 않고, 실제로 만들어서 실행했다는게 큰 차이.
잉여력 방출은 언제나 재밌고 즐겁다.
원문 블로그는 여기
http://ahogrammer.com/2016/11/15/deep-learning-enables-you-to-hide-screen-when-your-boss-is-approaching/
잉여력 방출은 언제나 재밌고 즐겁다.
원문 블로그는 여기
http://ahogrammer.com/2016/11/15/deep-learning-enables-you-to-hide-screen-when-your-boss-is-approaching/
(블로그 주소 이름이 무려 아호그래머다;;; あほ=멍청이,
똑똑하게 삽질하는 멋진 블로그인듯... >_<! 이런 것 너무 좋다.)
--------------------------
처음부터 만들까 하다가 원작자가 소스를 오픈해 둔 터라
시간 절약 + 재미로 바로 실행해볼 요량으로 달려들었다.
시간 절약 + 재미로 바로 실행해볼 요량으로 달려들었다.
원문 블로그에 공개한 보스 센서 오픈소스 GitHub
최근까지도 수정되고 있는 소스지만..
당연히 그대로 실행될리가 없지.
에러 메시지를 하나씩 확인하며 해결해 나가기 시작했다.
필요한 라이브러리나 그 외 환경 세팅하는 시간이 오히려 꽤 걸리기 시작하면서
그렇게 야근이 시작되었다. ㅋㅋㅋㅋ
누군가 해보고 싶은 사람에게 도움이 되도록 결과 자료를 남긴다.
--------------------------
# 실행한 환경
- 맥북프로 2016 15 Late
- iSight MacBook 내장 웹캠
- macOS Sierra 10.12
- Anaconda (Miniconda3)
- OpenCV3
IDE 는 Pycharm
※ 검증해보지는 않았지만, Windows 에서도 동작하지 않을까?
# 설치된 Python Library Version
직접 검증한 최신 버전의 라이브러리들
h5py (2.6.0)
Keras (1.2.1)
mock (2.0.0)
numpy (1.12.0)
pbr (1.10.0)
pip (9.0.1)
protobuf (3.2.0)
PyYAML (3.12)
scikit-learn (0.18.1)
scipy (0.18.1)
six (1.10.0)
sklearn (0.0)
tensorflow (0.12.1)
Theano (0.8.2)
------------------
# 문제 해결 1-2-3
1. PyQt4 설치가 안된다. (macOS Sierra)
brew install pyqt4 가 안된다!!!
구글링 해도 답이 없어 찾아보니 os 버전이 최신이라서 그런듯...
어디서 사용하나 코드를 보니 굳이 PyQt4일 필요는 없더라.
brew install pyqt4 가 안된다!!!
구글링 해도 답이 없어 찾아보니 os 버전이 최신이라서 그런듯...
어디서 사용하나 코드를 보니 굳이 PyQt4일 필요는 없더라.
PyQt5를 설치하고, 스크린 관련 코드를 4에서 5로 새로 옮겨준다.
이 작업은 조금 귀찮은 정도. 다른 이를 위하여 내 GitHub 포크에 업로드 해두었다.
이 작업은 조금 귀찮은 정도. 다른 이를 위하여 내 GitHub 포크에 업로드 해두었다.
덤. PyQt5 를 아나콘다로 설치하기
사용할 환경으로 소스를 바꾼 뒤
사용할 환경으로 소스를 바꾼 뒤
> conda install pyqt
2. requirements.txt 에 필요한 라이브러리가 설치가 안된다.
파이썬 라이브러리 목록과 버전이 잘 정리되어 있긴 한데, 해당 버전으로 설치할 수 없는 라이브러리 패키지가 있다.
예를 들면 tensor flow 0.10.0...
이 때문인지 keras도 조금 문제가 생기는데, 이것도 최신 버전으로 설치하자.
예전 버전 그대로 두면 사진 트레이닝 할 때 트러블이 있다.
파이썬 라이브러리 목록과 버전이 잘 정리되어 있긴 한데, 해당 버전으로 설치할 수 없는 라이브러리 패키지가 있다.
예를 들면 tensor flow 0.10.0...
이 때문인지 keras도 조금 문제가 생기는데, 이것도 최신 버전으로 설치하자.
예전 버전 그대로 두면 사진 트레이닝 할 때 트러블이 있다.
requirements.txt 도 수정해서 내 GitHub 포크에 업로드 해두었다.
3. model 데이터를 저장할 경로를 미리 만들어줘야 한다.
하위 경로로 미리 ./store/ 폴더를 만들어두면 오류가 없다.
내 GitHub 포크에는 미리 생성해두어 해결했다.
하위 경로로 미리 ./store/ 폴더를 만들어두면 오류가 없다.
내 GitHub 포크에는 미리 생성해두어 해결했다.
4. 모델데이터를 새로 생성할 때는 기존 모델 파일을 삭제할 것
boss_train.py를 이용하여 모델데이터를 학습하면 ./store/model.h5 가 생성되는데,
새로 학습시킬때 이 파일을 생성하기 전에 미리 지워줄 것 (덮어쓰기 오류 남)
boss_train.py를 이용하여 모델데이터를 학습하면 ./store/model.h5 가 생성되는데,
새로 학습시킬때 이 파일을 생성하기 전에 미리 지워줄 것 (덮어쓰기 오류 남)
덮어쓰게 수정 하려다가 이건 귀찮아서 패스...
5. 얼굴 인식률이 떨어진다.
다양한 각도로 약 500 - 1200 장 정도 학습을 시켜야 한다.
# GitHub Fork Repository
GitHub Fork 해서 수정한 내용 커밋해두었다.
혹시 오리지널 GitHub 출처에서 실행이 어려운 분이나
내가 수정한 내용이 필요하신 분은 아래의 경로에서 다운을...
https://github.com/prscu24/BossSensorPyQt5
# 실행화면 영상
내 얼굴을 학습 시킨 후, 비상 이미지는 실행되지 않게 하여 실행.
카메라 근처를 어슬렁거려보았다.
# 마무리
학습 데이터가 부족해서 인식률은 떨어지지만
원래 목적인 경고의 의미로는 나쁘지 않은 동작을 보인다.
- 인식률이 나쁘면 보스가 출몰하지 않았는데도 나왔다고 오인식을 해버리는 문제가;;;
그리고 사장님 얼굴을 양해하지 않고 그렇게나 많이 모을 수 있을까?
이것은 고양이 목에 방울을 다는 상황이 생각난다.
거기다가 실행 비용도 커서 항상 실행해두기는 좀 부담되는 정도 ^^;; (CPU 사용률이...)
학습용으로 토이용도로 재밌게 사용해보면 될 것 같다.
<오늘의 삽질 끝!>
# GitHub Fork Repository
GitHub Fork 해서 수정한 내용 커밋해두었다.
혹시 오리지널 GitHub 출처에서 실행이 어려운 분이나
내가 수정한 내용이 필요하신 분은 아래의 경로에서 다운을...
https://github.com/prscu24/BossSensorPyQt5
# 실행화면 영상
내 얼굴을 학습 시킨 후, 비상 이미지는 실행되지 않게 하여 실행.
카메라 근처를 어슬렁거려보았다.
# 마무리
학습 데이터가 부족해서 인식률은 떨어지지만
원래 목적인 경고의 의미로는 나쁘지 않은 동작을 보인다.
- 인식률이 나쁘면 보스가 출몰하지 않았는데도 나왔다고 오인식을 해버리는 문제가;;;
그리고 사장님 얼굴을 양해하지 않고 그렇게나 많이 모을 수 있을까?
이것은 고양이 목에 방울을 다는 상황이 생각난다.
거기다가 실행 비용도 커서 항상 실행해두기는 좀 부담되는 정도 ^^;; (CPU 사용률이...)
<오늘의 삽질 끝!>
2017년 1월 1일 일요일
SourceTree 에서 과거 상태로 돌아가려면?
SVN 에서 Git으로 넘어 온지 얼마 안되서 용어가 다소 헷갈렸는데,
특히 재배치와 체크아웃이 그랬다.
간단하게 SVN 쓰던 시절 처럼 그냥 깔끔하게 날려버리려면,
클론 받은 폴더의 하위 작업 폴더와 파일을 모두 지우고
돌아가고 싶은 히스토리 로그를 우클릭해서 체크아웃 받아버리는게 내 손에는 더 맞는 것 같다.
SourceTree 에서 MacOS 키체인 사용하기
아래와 같이 입력하면 된다.
git config --global credential.helper osxkeychain
라벨:
팁,
Git,
MacOS,
SourceTree
피드 구독하기:
글 (Atom)