AttributeError: module 'tensorflow' has no attribute 'constant'
AttributeError: module 'tensorflow' has no attribute 'constant' sudo python3 으로 실행한다.
2019.03.05
[Python] ldconfig
ldconfig 정의 ldconfig는 runtime때 여러 위치에 존재하는 shared object, 쉽게말해 동적 라이브러리를 연결해주는 dynamic linker를 설정하는 command이다. 즉, 자신이 사용중인 머신에 새로운 library를 설치한 후 머신이 인식하기 위한 dynamic linking table을 업데이트 해준다. 여기서 runtime dynamic linker는 /lib/ld.so 이고, 어떤 shared object가 필요한지는 실행파일이 알려준다. ldd /bin/ls 을 실행해보면 ls가 동작하기위해 필요한 so들 목록이 나오고, 해당 so파일을 어느 경로에 있는걸 가져올껀지도 보여준다. /etc/ld.so.conf는 이 경로를 지정해주는 설정파일. 출처 : http://..
2019.03.05
Error : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
2019년 3월 5일 기준 Anaconda를 이용하여 TensorFlow 1.13.1 버전을 설치하고 코드를 돌렸을 때 아래와 같은 에러 메세지가 떴다. 구동 환경 Ubuntu 16.04CUDA 10.0cuDNN 7.3.1 Anaconda 4.3.0Python 3.6 Error : Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. 도대체 갑자기 Convolution algorithm을 찾을 수 없다니 ... TensorFlow 버그인 것 같다... 해결책 관련 링크 1 : htt..
2019.03.05
ModuleNotFoundError: No module named 'cv2'
윈도우 환경일 때 for windows if you have anaconda installed, you can simply dopip install opencv-pythonorconda install -c https://conda.binstar.org/menpo opencv 리눅스 환경일 때 if you are on linux you can do :pip install opencv-pythonorconda install opencv https://stackoverflow.com/questions/19876079/opencv-cannot-find-module-cv2
2019.03.05
AttributeError: module 'pip' has no attribute 'main'
python3 -m pip install --user --upgrade pip==9.0.3 으로 해결 https://stackoverflow.com/questions/49839610/attributeerror-module-pip-has-no-attribute-main
2019.03.05
P문제와 NP문제(NP-hard)
답이 YES 아니면 NO로 반환되는 문제를 결정 문제라고 한다. 예를 들어, 'a는 b의 배수인가?'와 같은 질문은 결정 문제이다. P와 NP 모두 결정 문제의 분류에 해당한다. P 문제는 결정 문제들 중에서 쉽게 풀리는 것을 모아 놓은 집합이다. 어떤 결정 문제가 주어졌을 때, 다항식(Polynomial) 시간 이내에 그 문제의 답을 YES와 NO 중의 하나로 계산해낼 수 있는 알고리즘이 존재한다면, 그 문제는 P 문제에 해당된다. n자리 이하의 수 a와 b가 주어졌을 때, a가 b의 배수인지를 판정하는 것은 유클리드 호제법을 사용하면 n에 대한 다항식 시간에 계산할 수 있으므로, 'a는 b의 배수인가?'하는 문제는 P 문제에 해당된다. 위의 정의는 결정적 알고리즘(deterministic algori..
2019.02.17
[C++] 파일 분할 작성
헤더파일에는 클래스의 선언을, cpp 파일에는 클래스의 정의를 작성한다. 클래스의 선언은 멤버변수의 선언과 멤버함수의 원형을 포함하게 되고, 클래스의 정의는 멤버함수의 구현부로 이루어져 있다. Test.h 소스코드 #ifdef __TEST_H__ #define __TEST_H__ class Test { private: char ch[10]; int test; public: void testing(char* ID, int number); }; #endif Test.cpp 소스코드 #include #include #include "Test.h" using namespace std; void Test::testing(char* ID, int number) { ~~~~ } Main.cpp 소스코드 #include
2018.11.26
[Linux] 리눅스 wget 명령어
리눅스 환경에서 인터넷 파일을 다운로드 할 경우 가장 많이 쓰이는 방법은 wget 명령어를 사용하는 것이다. 1. 단일 파일 받기 $ wget DOWNLOAD-URL 다운로드 하는 동안 진행 경과와 함께 다음의 정보를 보여줌 - 현재 몇 퍼센트 다운 받았는지에 대한 정보- 현재 다운로드 받은 바이트 수- 현재 다운로드 속도- 다운로드 완료까지 남은 시간 2. 다른 이름으로 저장하기 $ wget -O file.zip DOWNLOAD-URL 3. 다운로드 속도 지정 $ wget --limit-rate=200k DOWNLOAD-URL 4. 이어받기 $ wget -c DOWNLOAD-URL 참고자료 : http://sisiblog.tistory.com/25
2018.11.26
[C] assert 매크로
assert 매크로는 assert.h 헤더 파일에 정의되어 있으며 정해진 조건에 맞지 않는 경우 프로그램을 중단한다. 1. assert에 지정한 조건식이 거짓(false)일 때 프로그램을 중단2. assert에 지정한 조건식이 참(true)일 때는 프로그램을 계속 실행 단, Visual Studio 에서는 Debug 모드에서만 작동하며 Release 모드에서는 동작하지 않음 포인터가 NULL이면 프로그램을 중단하는 예제 #define _CRT_SECURE_NO_WARNINGS #include #include #include // assert가 정의된 헤더 파일 void copy(char *dest, char *src) { assert(dest != NULL); // dest이 NULL이면 프로그램 중단 ..
2018.11.26
no image
[Machine Vision] 머신비전 기술분석
머신비전 기술이란? 비전 센서를 이용한 검사/가공 장비들에 대한 자동화를 실현하는 기술이다. 최근 동향을 살펴보면 검사 대상이 소형화되고 내부 패턴이 복잡해지면서 고도의 영상처리 기술을 필요로 하고, 생산성 향상을 위한 고속처리 기술 또한 요구됨 기술적인 측면에서 알고리즘의 정확도 문제로 인해 완전 자동화는 힘들고 마지막 단계에서 검출된 결함들을 작업자가 한 번 더 확인하는 경우가 많아, 이러한 기술적인 한계를 극복하기 위해서는 빅데이터 기반의 딥러닝 기술을 활용해 검사 장비가 시간이 지남에 따라 자가 학습해 점점 정확도가 좋아지도록 해야 한다. 머신비전(machine vision) 시스템의 목표 머신비전의 목표는 영상으로부터 실제의 모델을 추출하는 것이다. 머신비전 시스템은 전경의 2 차원 투영(pro..
2018.11.09
no image
[Deep Learning] CNN(Convolutional Neural Network)
1. CNN, Convolutional Neural Network 개념 Convolutional Neural Network(이하 ConvNet)은 합성곱(Convolution) 연산을 사용하는 인공 신경망의 한 종류이다. ConvNet과 일반적인 신경망의 가장 큰 차이점은 ConvNet은 입력 데이터가 이미지라는 것이다. 이미지는 다음과 같이 행렬 형태로 이루어져있으며 또한, 이미지는 Width x Height x Depth 형태로 이루어져있다. 숫자 32가 의미하는 바는 픽셀 수를 뜻한다. 또한 ConvNet의 가장 큰 특징은 일반적인 신경망 앞에 여러 합성곱 계층을 붙인 형태로 이루어진다. (1). 특징 추출(Feature Extraction)(2). 분류(Calssification) 다음 그림과 같..
2018.11.01
no image
[OpenCV] 동영상 재생 + 프레임 측정 + 적응적 이진화 + 캐니에지 + 컨투어링 + 모멘트 + putText
동영상 재생 후 프레임을 측정하고 적응적 이진화를 통해 이진화를 수행한다. 그 다음, 캐니 에지로 엣지를 따고나서 컨투어링을 수행하여 탐지된 객체의 가장자리를 그리고, 컨투어링을 통해 면적을 계산한다. 다음으로, 객체를 둘러 쌓는 바운딩 박스(Bounding Box)를 통해 객체의 Width, Height를 구하는 예제이다. 마지막으로 계산한 면적, 너비, 높이를 putText를 통해 화면에 표시한다. #include #include #include "opencv2\opencv.hpp" using namespace cv; using namespace std; int main(int argc, char* argv[]) { Mat matOrg; Mat matOut; long totalFrames = 0; c..
2018.10.22