IT 지식 창고
-
(Tensorflow) valueerror:unknown layer : functional 에러 이유IT 지식 창고 2020. 9. 4. 18:46
아마 제목과 같은 에러가 발생하는 경우는 model(no weight)을 저장 후 다시 불러온 경우에 발생할 수 있는 에러입니다. 현재 Tensorflow 2.3이 릴리즈 되면서 발생하는 것 같은데, 2.3과 2.2에서 model을 json으로 저장할 경우 구조가 약간 달라서 발생하는 에러입니다. 만약, 2.3버전에서 model을 저장하여 2.2버전에서 load할경우 에러가 생기며, 2.2 버전에서 model을 저장한 후 2.3 버전에 load하는 것은 가능합니다. (하위호환은 가능하지만, 상위호환이 안됨) 2.3에서 모델을 저장할 경우 {"class_name": "Functional", "config": {"name": "functional_1", "layers": [{"class_name": "Inp..
-
(albumentation) albumentation이 적용되지 않을 때IT 지식 창고 2020. 9. 3. 18:47
(albumentation is not working) 다양한 유형이 있겠지만, 보통 pytorchvision과 비슷하게 작동하기 때문에 사용하는데 큰 어려움이 없을 것입니다. 저 또한, image와 mask를 augmentation을 시키기위해 활용하였는데, 이상하게 적용이 안되어 삽질한 결과 이유를 알아냈습니다. import albumentation transform = albumnetations.Compose([albumentation.Resize(256, 256)]) -------------------------------------------------------------------- data = {'image' : image, 'mask' : mask} dataset = transform(*..
-
(tensroflow) pyinstaller사용 후 tensorflow error 해결IT 지식 창고 2020. 9. 1. 18:50
linux든 window든 pyinstaller를 활용하여 exe를 만든 후 대게 tensorflow 에러가 발생하는 경우가 많습니다. 그 중에 no module named과 같은 에러를 해결하는 방법입니다. 위와 같은 에러가 생기는 경우는 pyinstaller를 최신버전으로 사용하여도, tensorflow의 발전은 더 빠르기에 숨겨져있는 module을 같이 exe파일로 설치 못하는 경우가 많습니다. 그래서 py파일로 실행할 때는 문제 없지만, exe로 실행시킬 때는 한 두개의 모듈을 빼먹고 exe파일로 만들기 때문에 위와 같은 에러가 생깁니다. 그래서, 보통 ModuleNotFoundError : No modul named 'tensorflow.~~.~~.~~'의 에러가 많이 발생하는데, 이 때 'te..
-
(keras) keras requires tensorflow 2.2 or higher. install tensorflow via pip install tensorflow Error 해결방법IT 지식 창고 2020. 9. 1. 18:30
적절한 keras와 tensorflow 2.2.0을 설치했음에도 불구하고 제목과 같은 에러가 뜨는 경우가 있습니다. 보통의 경우는 없겠지만, 제가 겪었던 경험은 pyinstaller을 통해 exe파일을 만든 후 실행하니 뜬 에러였습니다. stackoverflow에서는 keras버전과 tensorflow의 버전을 다시 한번 확인하라고 하지만, 위와 같은 에러가 뜨는 경우는 keras는 backend로 tensorflow를 사용하기 때문에 tensorflow에서 어떤 에러가 생겨 제대로 돌아가지 않는 경우에 제목과 같은 에러를 발생시키기도 합니다. 그러므로, keras를 먼저 import해보는 것이 아닌 tensorflow를 먼저 import를 하여 tensorflow의 에러를 확인하는 것이 중요합니다. 그..
-
(pyinstaller) exe파일 만들 때 일반 폴더도 같이 만드는 법IT 지식 창고 2020. 9. 1. 18:26
pyinstaller을 만든 후 생기는 .spec파일에서 내용을 추가 한 후 pyinstaller test.spec과 같이 py파일이 아닌 spec파일을 실행시키면 내용이 추가된 상태로 exe파일을 편리하게 만들 수 있습니다. datas = []안에 포함하고자 하는 폴더를 같이 넣으면 됩니다. py파일이 실행되는 경로를 기준으로 datas = [("test_folder", "testfolder/"), ("test_folder/test2_folder", "test_folder/test2_folder/")] 와 같이 넣어주면, dist 폴더가 만들어지고 exe파일이 있는 곳으로 직접 옮기지 않아도 pyinstaller에서 스스로 다 처리해줍니다. pyinstaller test.py 이후 추가적인 옵션을 적어..
-
(Centos) vmware에서 CentOS8로 통신할 때IT 지식 창고 2020. 9. 1. 18:16
포트포워딩이나 여러 방법이 있지만, 가장 간단한 방법은 그냥 방화벽을 해제하고 통신하면 됩니다. terminal에서 아래의 명령어를 치면 계정 비밀번호를 친 후에 방화벽이 해제가 됩니다. # systemctl stop firewalld 사실 포트포워딩으로 vmware를 열어도 window에서 ip ping만 날라가고 port는 안먹고... linux os에 따라 포트포워딩 명령어는 또 왜이리 다른지.. CentOS8에서 포트포워딩하는 방법을 찾기가 힘들더라구요.. 그래서 뭐가 문제일까 생각하고 근본적인 방화벽을 해제해버리니 그냥 바로 통신은 가능합니다. vmware에서 CentOS8을 재부팅할 때마다 방화벽을 해제해줘야 통신이 가능합니다. 현재 테스트하고 있는 환경이 port가 여러개가 아니라 CentO..
-
(CentOS) CentOS8 apt-get 설치 방법 은 없습니다.IT 지식 창고 2020. 8. 31. 18:11
고객업체에서 CentOS8 환경에서 제품을 사용해야하는 상황이라 환경구성하는 와중에 apt-get을 사용하려고 하였습니다. 그러나, 관련 내용이 전혀 없어서 찾아 본 결과 CentOS8 에서는 apt-get을 지원하지 않고 yum을 사용하는 것이 적절하다고 합니다. https://forums.centos.org/viewtopic.php?t=74773 Installing apt-get on redhat - CentOS Issues related to applications and software problems and general support trnastiio Posts: 1 Joined: 2020/06/16 09:46:20 Post by trnastiio » 2020/06/16 10:05:37 Is ..
-
(Python) xml을 dictionary로 변환할 때 사용하는 외장모듈, xmltodictIT 지식 창고 2020. 8. 26. 18:46
pip install로 xmltodict를 설치하시고, 설치하는 데 오래걸리지 않습니다. pip install xmltodict import xmltodict import json #xml의 string은 어떤 형태도 상관없으며, 아래는 단지 예시일뿐입니다. xml_str = "kimchajangA kimminsuA" #string으로 된 xml을 먼저 parse해줍니다. xml_parse = xmltodict.parse(xml_str) #parse된 xml_parse를 json.dumps를 통해 dictionary문자열로 바꾼 후, #json.loads를 통해 python에서 읽을 수 있는 dictionary형으로 바꿉니다. xml_dict = json.loads(json.dumps(xml_parse)..