사소한 Tip . 오류 해결법

LMDB 안에 image와 label이 있다는 가정하에 로딩, txt파일의 경우 다음과 같은 형식으로 생성됨(여기서 구분자는 \t 사용) import lmdb from tqdm import tqdm import six from PIL import Image import os from glob import glob import concurrent.futures from concurrent.futures import ProcessPoolExecutor import functools import time def make_txt_lst_dict(data_dir_lst): txt_dict = {} txt_lst = [] for idx, data_dir in enumerate(data_dir_lst): if dat..
LMDB에 저장된 image id, label, image값 까지 받아서 image로 따로 저장하고, label과 path를 txt파일로 저장하는 코드 Image값은 PIL 내 decode 참고로 LMDB PATH는 해당 lmdb 파일이 있는 폴더의 이름을 써주면 됨. ex) train.mdb 파일이 ./test/train.mdb 와 같은 경로이면 ./test를 써주면 됨 import lmdb from tqdm import tqdm import six from PIL import Image import os from glob import glob def read_lmdb(lmdb_file, img_save_dir, txtfile, rgb = True): lmdb_env = lmdb.open( lmdb_f..
from glob import glob import os, json python_file_lst = sorted(glob("./**/*.py", recursive = True)) print(python_file_lst) for python_file in python_file_lst: rindex = python_file.rindex('/') python_file_tf = python_file[:rindex+1]+'tf_'+python_file.split('/')[-1] print(python_file_tf) !tf_upgrade_v2 --infile {python_file} --outfile {python_file_tf}
Network의 입력으로 Batch 형태의 image 뭉치를 제공하는데 다음과 같은 에러가 발생했다. # proc_image = (batch, 32, 100, 1) == Batch Size, Width, Height, Channel Num preds = self.sess.run(self.prediction, feed_dict={self.image:proc_image}) proc_image는 앞서 전처리를 통해 np.array() 형태의 image tensor list를 tf.Tensor형태로 변경해놓은 상황이었고, 구글링을 해보니 계속 proc_image가 np.array()형태여야 한다길래 억지로 proc_image = np.array(proc_image)로 형변환을 해서 아래와 같이 확인했는데도, 문..
WARNING:tensorflow:Entity could not be transformed and will be executed as-is. Please report this to the AutgoGraph team. When filing the bug, set the verbosity to 10 (on Linux, `export AUTOGRAPH_VERBOSITY=10`) and attach the full output. Cause: converting : AttributeError: module 'gast' has no attribute 'Index' gast library를 0.2.2로 다운그레이드 해서 Warning 삭제 가능 pip install gast==0.2.2 링크 WARNING:tens..
from difflib import SequenceMatcher txt = '큐알론점안액0.3%(히알루론산나트륨)_' pat = '히알루론산나트륨)_(1.05MG/0.35ML' match = SequenceMatcher(None, txt, pat).find_longest_match(0, len(txt), 0, len(pat)) print(match) print(txt[match.a: match.a + match.size]) # -> apple pie print(pat[match.b: match.b + match.size]) sum_txt = txt[:match.a] + pat[match.b:] print(sum_txt)
import matplotlib.pyplot as plt from glob import glob import os, json import numpy as np import os.path as osp from mmcv import Config from glob import glob from PIL import Image import mmcv from tqdm import tqdm import torchvision.transforms as transforms def aihub2labelme(save_dir, jsonfile) : imgname = jsonfile.replace('.json', '.jpg') img = plt.imread(imgname) imgname = os.path.basename(imgn..
참고 링크 TFRecord 파일 읽고 쓰기 TFRecord를 통한 딥 러닝 학습 데이터셋 만들기 velog.io
https://sike6054.github.io/blog/keras/second-post/ Keras 코드 수행 시에 출력되는 Warning을 포함한 기타 메시지 제거. 0. IntroKeras를 설치하고 코드를 수행하면 아래와 같은 끔찍한 메시지를 볼 수 있다. sike6054.github.io import tensorflow as tf tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)
신경망의 특정 레이어를 삭제하려 할 때, model.state_dict()로 pre-trained model을 받아오고, 레이어를 삭제하려는 도중 발생한 에러. Dictionary 가 반복 실행(즉, for문) 안에서 변경되면서 발생하는 에러. For문 입장에서는 삭제한 key 'rec_head.encoder.emb'가 있어야 하는데 중간에 변경되서 없어졌다고 경고를 보내는 꼴이다. for key, value in checkpoint['state_dict'].items():# For문 하단의 삭제는 문제가 없는데, 다음 iteration을 돌 때 에러가 발생 if 'rec_head.encoder.emb' in key: checkpoint['state_dict'].pop(key)# 삭제까지는 정상적으로 되..
https://stackoverflow.com/questions/47432168/taking-subsets-of-a-pytorch-dataset Taking subsets of a pytorch dataset I have a network which I want to train on some dataset (as an example, say CIFAR10). I can create data loader object via trainset = torchvision.datasets.CIFAR10(root='./data', train=True, ... stackoverflow.com Epoch에 따라 홀수, 짝수에 맞춰서 DataLoader 내 Random Sampling을 수행하며, 전체 데이터를 절반으로 ..
# 현재 위치에서 디렉토리(폴더) 개수 세기 ls -l | grep ^d | wc -l # 현재 위치에서 파일 개수 세기 ls -l | grep ^- | wc -l # 현재 위치에서 하위 파일 개수 세기 find . -type f | wc -l 출처 : https://lee-mandu.tistory.com/420 리눅스 파일 개수 및 디렉토리(폴더) 개수 세기 간단한 명령어만 적어두기 위하여 포스팅합니다. 현재 위치에서 디렉토리 즉 폴더 개수 세기 ls -l | grep ^d | wc -l 위의 명령어를 실행 시키면 현재 위치의 디렉토리(파일) 개수를 체크 할 수 있습 lee-mandu.tistory.com 간혹 여러 폴더에서 개수를 세고싶을때는 다음 bash script 코드로 확인할 수 있다. fin..
https://zzsza.github.io/development/2020/01/06/jupyter_notebook_voila_dashboard/ Voila를 사용해 Jupyter Notebook Dashboard 만들기 Jupyter notebook에서 voila를 사용해 대시보드 만드는 방법에 대해 작성한 글입니다 R의 Shiny처럼 Python Jupyter Notebook에선 Voila를 사용하면 빠르게 웹에 대시보드를 띄울 수 있습니다 zzsza.github.io
모델 내 requires_grad를 다 False로 뒀는데, 이상하게 앞단 모델이 엉망이 되었다. 초기모델과 가장 최근까지 학습했던 모델 내 파라미터를 하나씩 비교하던 중, 다음과 같이 backbone 안에 있던 batchnormalization 값은 다 변경되고 있었던 것을 발견했다. backbone.layer1.0.bn1.running_mean backbone.layer1.0.bn1.running_var backbone.layer1.0.bn1.num_batches_tracked 이상 3가지 값들 위주로 변경되고 있었으며, 이 값들은 일반적인 layer 내 파라미터들처럼 optimizer가 loss로 update하는 값이 아니라고 한다. 해당 값들은 forward 과정에서 버퍼에 저장되어 변동되는 값들..
Anaconda는 여러 Python 가상 환경을 구성해서 사용하고 만들 수 있는 것이 큰 장점이다. Linux Windows 간 호환은 잘 안되지만, 같은 OS라면 공유하는 것이 크게 어렵지 않다. 1. Export(가상환경 파일 만들기) 현재 사용하고 있는 가상환경을 activate한 상태 기준으로, 아래 명령어로 yaml파일을 만들어준다. conda env export > [$ENVIRONMENT_NAME].yaml ex) conda env export > test_env.yaml 생성된 yaml 파일은 다음과 같이 가상환경 이름과 채널, 필요한 디펜던시(라이브러리) 목록이 나열되어 있다. 2. Import(가상환경 생성) 이제 앞에서 만든 yaml을 통해 새로운 환경으로 파일을 가져오자. CUDA,..
Js.Y
'사소한 Tip . 오류 해결법' 카테고리의 글 목록 (9 Page)