728x90

IT 417

[python/numpy] 0 이외의 요소를 추출하는 numpy.nonzero()의 사용법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. numpy.nonzero 함수는 0이 아닌 요소의 인덱스를 얻을 수 있는 심플한 함수이다. 이번 포스트에서는 numpy.nonzero의 사용법에 대해서 해설하고자한다. numpy.nonzero numpy.nonzero 와 numpy.ndarray.nonzero의 두 가지 타입이 있으며, 사용방법은 거의 동일하다. numpy.nonzero의 기본 문법은 다음과 같다. numpy.nonzero(a) 파라미터명 데이터형 개요 a array_like 배열에 해당하는 것 인덱스를 추출하고 싶은 배열을 지정한다. 이 함수를 통해 반환되는 것은 각 축마다 0아 이닌 요소의 ..

IT/언어 2022.08.20

[python/Tensorflow2.X] "ValueError: tf.function-decorated function tried to create variables on non-first call" 에러 해결하기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. 에러가 발생하는 예제 코드 @tf.function def call(model1: tf.keras.models.Model, inputs: tf.Tensor): return model1(inputs) if __name__ == '__main__': model1 = tf.keras.Sequential([ tf.keras.layers.Dense(16), tf.keras.layers.Dense(4) ]) model2 = tf.keras.Sequential([ tf.keras.layers.Dense(16), tf.keras.layers.Dense(4) ]) inputs = tf.o..

IT/AI\ML 2022.08.16

[python/openCV] openCV로 도형그리기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. 개요 openCV로 이미지에 도형이나 문자를 그릴 수 있는 함수들에 대해서 정리해보았다. 함수 목록 도형 함수 텍스트 cv2.putText 사각형 cv2.rectangle 원 cv2.circle 타원 cv2.ellipse 윤곽 cv2.drawContours 마커 cv2.drawMarker 볼록한 폴리곤 cv2.fillConvexPoly 폴리곤 cv2.fillPoly 폴리곤의 윤곽선 cv2.polylines 선 cv2.line 화살표 cv2.arrowedLine 함수 공통 사양 색은 color 로 지정한다. 1채널 이미지의 경우는 int, 3채널 이미지의 경우는 int의 ..

IT/언어 2022.08.10

[python/openCV] 가로세로 비율을 유지한 채로 이미지를 리사이즈하기(이미지 사이즈 변경)

※ 이 포스팅은 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 직역, 의역이 있을 수 있으며, 틀린 내용이 있으면 지적해주시면 감사하겠습니다. 이번 포스트에서는 아래의 그림과 같이 해당 이미지의 가로, 세로 비율을 유치한 채로 지정 사이즈로 리사이즈하는 방법에 대해서 소개하도록 하겠다. cv2.resize 메소드 openCV의 resize의 메소드는 인수에 리사이즈 후의 이미지 사이즈(폭과 높이 튜플)을 지정해서 실행하는 메소드이다. 다만 이 메소드를 그대로 사용하면 지정한 사이즈대로 이미지를 변경해버린다. 예를 들자면 보면 다음과 같다. size = (400, 300) resized_image = image.resize(size) 가로 세로 비율을 유지하도록 리사이즈하는 방법 앞서 설명했듯, 그..

IT/언어 2022.08.08

[python/scipy] scipy.interpolate.interp2d를 이용한 2차원 데이터 보간

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적해주시면 감사하겠습니다. 시작하기에 앞서 이번 포스트에서는 Python의 수치 분석 라이브러리인 SciPy의 interpolate.interp2d 클래스를 사용해 2차원 형태의 데이터를 보간하는 방법에 대해서 해설하도록 하겠다. 보간의 옵션이나 실제 보간 예에 대해서 다룰 것이다. 또한, SciPy에서 interpolate.interp2d와 동일하게 2차원 데이터를 보간하는 interpolate.griddata도 있지만, 이것은 함수이다. interp2d 클래스 interpolate.interp2d 클래스는 다음과 같이 정의되어 있다. interp2d(x, y, z, kind='linear', ..

IT/언어 2022.08.04

vtk 파일 포맷

vtk 파일이란? vtl 파일은 형태나 속성을 포함한다. 파일명의 확장자가 ".vtk"이다. 텍스트와 바이너리로 기재되어 있지만, 이번 포스트에서는 텍스트로 기재된 경우에 대해서만 설명하도록 하겠다. 참고로 파일의 모든 대문자 단어는 키워드로, 소문자 단어는 유저 지정을 의미한다. 헤더 파일의 맨 앞 머리는 다음과 같이 작성되어 있다. # vtk DataFile Version 2.0 Header ASCII DATASET UNSTRUCTURED_GRID 첫 번째 행은 파일의 종류를 나타내고 있다. Header의 부분은 임의의 문자열을 쓸 수 있다. "ASCII"는 모두 텍스트로 기재되도록 지정하는 것이다. "DATASET" 의 "UNSTRUCTURE_GRID"는 비구조 격자 데이터라는 것을 의미한다. 형태..

IT/기초 지식 2022.08.03

[python] python의 datetime으로 날짜, 시간 ⇔ 문자형 데이터 변환(strtime, strptime)

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있다면 지적 부탁드립니다. python의 표준 라이브러리 dattime을 사용하여 날짜(날짜나 시간) 데이터를 처리할 수 있다. 날짜와 문자열을 상호 변환하는 메소드 strtime()과 strptime()으로 다양한 포맷의 날짜나 시간을 조작할 수 있다. 또한, 뺄셈이나 덧셈등의 연산도 가능하다. 예를 들어 10일 전이라던가 3주 이후의 날짜나 50분후의 사간 등 간단한 계산도 할 수 있다는 것이다. 이번 포스트에서 다룰 내용은 다음과 같다. datetime.datetime : 일시(날짜와 시간) datetime.date : 날짜 datatime.time : 시각 datetime.timedelta : 시간..

IT/언어 2022.07.31

[python] 순서를 지정할 수 있는 dictionary ; OrderedDict의 사용법

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용은 지적해주시면 감사하겠습니다. Python의 사전형(dict형 오브젝트) 데이터는 요소의 순서를 갖고 있지 않다. Python의 3.6버전부터는 순서를 가지고 잇지만, 구현하는 방식에 의존하므로 구현하는 방식에 따르게 된다. 3.7 버전부터는 언어 사양 자체적으로 순서가진 사전형 데이터가 되는듯하다. 한편 표준 라이브러리인 collections 모듈에는 순서를 가진 사전형 데이터를 사용할 수 있도록 OrderDict가 준비되어 있다. collections 모듈을 import한다. 표준 라이브러리에 포함되어 있으므로 별도의 설치는 필요하지 않다. import collections import 구문은 아래와 같..

IT/언어 2022.07.26

[python] 시간을 10분 단위로만 기록되도록 하기(시간 내림)

Django 프로젝트중 현재의 시간 데이터를 10분 단위로 기록되도록 해야 할 필요성이 있었기에(예를 들어, 데이터 기록 당시의 시간이 12시 58분 12초라면 DB에는 12시 50분 0초로 기록되도록) 그러한 기능을 구현할 수 있는 코드를 조사해 간단하게 정리해봤다. 정말 짧은 포스트가 될 것이다. 코드 3줄로 단순하다. from datetime import datetime INTERVAL_MINUTE = 10 time = datetime.strptime('2022년7월24일 12시59분1초', '%Y년%m월%d일 %H시%M분%S초') tmp = time.replace(minute=time.minute - time.minute % INTERVAL_MINUTE, second=0, microsecond=0..

IT/언어 2022.07.24

[Django] Django에서 static file(정적파일) 다루기

※ 일본의 한 블로그 글을 번역한 포스트입니다. 오역 및 의역, 직역이 있을 수 있으며 틀린 내용이 있으면 지적 부탁드립니다. Django의 튜토리얼에서 잘 이해가 되지 않았던 settings.py에 기재하는 STATICFILES나 STATIC_ROOT, STATIC_URL에 대해서 가능한 알기 쉽게 설명해둔 외국 블로그 글이 있었기에 이번 포스트를 통해서 정리하고자한다. STATICFIELS_DIRS 각각의 어플리케이션이 나니, 톱 페이지에 표시하는 이미지등을 보관하는 임의의 장소를 Django에서 찾을 수 있도록 지정하는 것이 STATICFILES_DIRS이다(여기서는 가상으로 프로젝트 디렉토리 바로 아래에 "assets"이라는 폴더를 작성했다). STATICFILES_DIRS = [ os.path...

IT/WEB 2022.07.21
728x90