꽃 데이터셋으로 모델을 학습시키면 기본적인 수준의 정확도를 얻을 수 있습니다. 하지만 모델의 성능을 한층 더 끌어올리고 싶다면 데이터 파이프라인 자체를 최적화해야 합니다. 이를 위해 캐싱(cache), 셔플(shuffle), 배칭(batch), 프리페치(prefetch)를 순서대로 수행하는 함수를 정의하고, 이를 훈련 및 검증 데이터셋에 적용하면 됩니다.꽃 데이터셋 소개이 튜토리얼에서는 수천 장의 꽃 이미지가 담긴 꽃 데이터셋을 사용합니다. 데이터셋은 총 5개의 하위 디렉터리로 구성되어 있으며, 각 하위 디렉터리는 하나의 클래스(꽃
꽃(flower) 데이터셋으로 모델 학습을 계속 진행하려면 Keras의 fit() 메서드를 사용합니다. 이 메서드에 에포크(epoch) 수, 즉 전체 데이터를 몇 번 반복하여 학습할지를 지정할 수 있습니다. 학습이 진행되는 동안 일부 샘플 이미지도 콘솔에 함께 표시됩니다.꽃 데이터셋 소개이 튜토리얼에서는 수천 장의 꽃 이미지를 포함하는 꽃 데이터셋을 사용합니다. 데이터셋은 총 5개의 하위 디렉터리로 구성되어 있으며, 각 하위 디렉터리는 하나의 클래스(꽃 종류)에 해당합니다.아래 코드는 Google Colaboratory(Colab)
전복(Abalone) 데이터셋은 이 데이터를 저장하고 있는 Google API를 통해 다운로드할 수 있습니다. Pandas 라이브러리에서 제공하는 read_csv 메서드를 사용하면 API에 있는 데이터를 CSV 형태로 손쉽게 읽어올 수 있으며, 이때 각 특성(feature)의 이름도 명시적으로 지정해 주는 것이 좋습니다.전복 데이터셋이란?이 튜토리얼에서 사용할 전복 데이터셋은 전복이라는 해산 물고기(바다 달팽이의 일종)의 다양한 신체 측정값들을 담고 있습니다. 데이터셋에는 길이, 지름, 높이, 무게 관련 여러 특성들이 포함되어 있으
소개파이썬의 Cerberus 모듈은 강력하면서도 가볍고 유연한 데이터 검증(Validation) 기능을 제공하는 라이브러리입니다. 다양한 애플리케이션과 커스텀 검증 규칙으로 손쉽게 확장할 수 있도록 설계되어 있어, 소규모 프로젝트부터 대규모 데이터 파이프라인까지 폭넓게 활용할 수 있습니다.Cerberus의 핵심 작동 방식은 간단합니다. 먼저 스키마(Schema)를 정의한 뒤, 검증하고자 하는 데이터를 해당 스키마와 비교하여 조건에 부합하는지 확인합니다. 만약 조건을 충족하지 못하면, 어느 필드에서 어떤 문제가 발생했는지 정확한 오류
Google API를 통해 전복(Abalone) 데이터셋을 다운로드한 후에는 head 메서드를 사용해 콘솔에 샘플 데이터를 간단히 출력할 수 있습니다. 이 메서드에 숫자를 인자로 전달하면 해당 개수만큼의 행이 표시되며, 기본적으로 데이터셋의 맨 앞부분부터 행을 보여줍니다.전복 데이터셋 소개이 글에서는 전복 데이터셋을 사용합니다. 전복은 일종의 바다 달팽이로, 이 데이터셋에는 전복의 다양한 신체 측정값들이 담겨 있습니다. 목표는 나머지 측정값들을 기반으로 전복의 나이를 예측하는 것입니다.아래 코드는 Google Colaboratory
Keras에서는 Sequential 메서드를 사용하여 순차 모델을 간단하게 구축할 수 있습니다. 이 메서드 안에 레이어의 개수와 종류를 지정하면 됩니다.관련 글TensorFlow란 무엇이며, Keras는 TensorFlow와 어떻게 연동되어 신경망을 만들까요?전복(Abalone) 데이터셋 소개이번 튜토리얼에서는 전복 데이터셋을 사용합니다. 이 데이터셋에는 전복의 다양한 신체 측정값들이 담겨 있으며, 전복은 바다 달팽이의 일종입니다. 우리의 목표는 나머지 측정값들을 기반으로 전복의 나이(age)를 예측하는 것입니다.개발 환경아래 코드
소개openpyxl은 Excel 2010의 xlsx/xlsm/xltx/xltm 형식 파일을 읽고 쓸 수 있는 파이썬(Python) 라이브러리입니다.이 라이브러리는 기존에 Office Open XML 형식을 파이썬에서 네이티브하게 읽고 쓸 수 있는 라이브러리가 없다는 점에서 탄생했습니다.작업에 사용하는 엑셀 파일을 워크북(Workbook)이라고 부르며, 하나의 워크북에는 최소 한 개에서 수십 개까지의 시트(Sheet)가 포함될 수 있습니다.각 시트는 1부터 시작하는 행(row)과 A부터 시작하는 열(column)로 구성됩니다.open
정규화 레이어는 preprocessing 모듈에 포함된 Normalization 메서드를 사용하여 손쉽게 구축할 수 있습니다. 이 레이어는 전복(abalone) 데이터셋의 특성(feature)에 맞게 적응하도록 설계되었으며, 모델의 학습 능력을 향상시키기 위해 밀집(Dense) 레이어도 함께 추가됩니다.정규화 레이어는 각 컬럼(열)과 연관된 평균(mean)과 분산(variance) 값을 사전 계산하는 역할을 하며, 이렇게 계산된 값들을 활용해 데이터를 정규화합니다.전복 데이터셋 소개이 튜토리얼에서는 전복 데이터셋을 사용합니다. 전복
소개Python의 OS 모듈(os module)은 개발자가 현재 작업 중인 운영체제와 직접 상호작용할 수 있도록 다양한 함수를 제공하는 표준 라이브러리입니다. 이 글에서는 디렉터리(폴더)를 생성하고 삭제하는 방법, 디렉터리 이름을 변경하는 방법, 그리고 파일 처리의 기본기를 차근차근 알아보겠습니다.시작하기OS 모듈은 Python을 설치할 때 함께 포함되어 제공됩니다. 따라서 PIP로 별도 설치할 필요 없이, 모듈을 가져오기(import)만 하면 바로 다양한 메서드와 함수를 사용할 수 있습니다.import os모듈을 가져왔다면 이제
전복(abalone) 데이터를 대상으로 모델을 학습하고 구축하는 작업은 각각 compile 메서드와 fit 메서드를 사용해 수행할 수 있습니다. fit 메서드는 학습 반복 횟수인 에포크(epoch) 수를 매개변수로 함께 받습니다. 사용할 데이터셋 소개 이 글에서는 전복 데이터셋을 사용합니다. 이 데이터셋에는 전복의 길이, 무게 등 다양한 신체 측정값이 기록되어 있으며, 전복은 바다에 서식하는 해산 달팽이의 일종입니다. 목표는 나머지 측정값들을 바탕으로 전복의 나이를 예측하는 것입니다. 실행 환경: Google Colaborat
유니코드 문자열은 기본적으로 UTF-8로 인코딩됩니다. TensorFlow 모듈의 constant 메서드를 사용하면 유니코드 문자열을 UTF-8로 인코딩된 스칼라 값으로 표현할 수 있으며, encode 메서드를 활용하면 UTF-16으로 인코딩된 스칼라 형태로도 나타낼 수 있습니다.유니코드란 무엇인가?자연어를 처리하는 모델은 서로 다른 문자 집합을 가진 다양한 언어를 다루게 됩니다. 유니코드(Unicode)는 거의 모든 언어의 문자를 표현하기 위해 사용되는 표준 인코딩 체계입니다. 각 문자는 0부터 0x10FFFF 사이의 고유한 정수
TensorFlow는 인코딩된 문자열 스칼라와 코드 포인트 벡터 사이의 상호 변환을 손쉽게 처리할 수 있는 강력한 문자열 연산 기능을 제공합니다. 핵심이 되는 세 가지 함수는 다음과 같습니다.unicode_decode: 인코딩된 문자열 스칼라를 코드 포인트 벡터로 변환합니다.unicode_encode: 코드 포인트 벡터를 인코딩된 문자열 스칼라로 되돌립니다.unicode_transcode: 인코딩된 문자열 스칼라를 다른 인코딩 방식으로 변환합니다.유니코드 문자열 처리 개요이 글에서는 Python으로 유니코드 문자열을 표현하고, 표준
소개파이썬의 sys 모듈은 파이썬 인터프리터 자체에 대한 다양하고 유용한 정보를 제공하는 표준 라이브러리입니다. 이 모듈을 활용하면 인터프리터와 관련된 상수, 함수, 메서드들의 세부 정보에 접근할 수 있으며, 스크립트 실행 환경을 세밀하게 제어할 수도 있습니다.시작하기sys 모듈은 파이썬에 기본으로 포함되어 있기 때문에 PIP 같은 패키지 관리자를 통해 별도로 설치할 필요가 없습니다.sys 모듈과 그 기능들을 사용하려면 먼저 임포트해야 합니다. 아래 한 줄의 코드로 간단히 가져올 수 있습니다.import sys명령줄 인자 목록 얻기
여러 개의 유니코드 문자열은 Python의 encode 메서드를 사용하여 UTF-8로 인코딩된 문자열 형태로 손쉽게 표현할 수 있습니다.함께 읽으면 좋은 글: TensorFlow란 무엇이며, Keras는 어떻게 TensorFlow와 함께 신경망을 구성하는가?유니코드란 무엇인가?자연어를 처리하는 딥러닝 모델은 서로 다른 문자 집합을 사용하는 다양한 언어를 다루어야 합니다. 유니코드(Unicode)는 전 세계 거의 모든 언어의 문자를 표현하기 위한 표준 인코딩 체계로, 각 문자는 0부터 0x10FFFF 사이의 고유한 정수 코드 포인트(
길이가 같은 여러 문자열을 인코딩할 때는 tf.Tensor를 입력값으로 사용하면 됩니다. 하지만 길이가 서로 다른 여러 문자열을 인코딩해야 한다면 tf.RaggedTensor를 입력으로 사용해야 합니다. 또한, 패딩(padded) 또는 희소(sparse) 형식으로 저장된 여러 문자열을 담고 있는 텐서가 있다면, unicode_encode 메서드를 호출하기 전에 반드시 이를 tf.RaggedTensor로 변환해 주어야 합니다.유니코드 문자열의 표현과 조작이 글에서는 Python으로 유니코드 문자열을 표현하고, 유니코드 등가 연산(Un
TensorFlow에서 유니코드 연산을 수행하려면 먼저 문자열의 길이를 구하고, 길이 계산 단위를 기본값인 바이트(BYTE)에서 다른 값으로 지정하는 방식을 사용합니다. 또한 encode 메서드를 활용하면 코드 포인트(code point) 벡터를 인코딩된 문자열 스칼라로 변환할 수 있으며, 이 과정을 통해 인코딩된 각 문자열 안에 어떤 유니코드 코드 포인트가 들어 있는지 파악할 수 있습니다. 자연어 처리와 유니코드의 관계 자연어를 처리하는 딥러닝 모델은 서로 다른 문자 집합을 사용하는 다양한 언어를 동시에 다루어야 하는 경우가 많습
TensorFlow에서는 strings 모듈에 포함된 substr 메서드를 사용하여 문자열의 일부(부분 문자열, substring)를 손쉽게 추출할 수 있습니다. 연산 결과는 NumPy 배열로 변환한 뒤 화면에 출력됩니다. 더 읽기: TensorFlow란 무엇이며, Keras는 TensorFlow와 함께 어떻게 신경망을 만들까요? 유니코드 문자열 다루기 이 글에서는 Python으로 유니코드(Unicode) 문자열을 표현하고, 이를 유니코드 기반 연산으로 조작하는 방법을 살펴봅니다. 먼저 표준 문자열 연산의 유니코드 등가 요소를 활
유니코드 문자열은 unicode_split 메서드를 사용해 분할할 수 있으며, unicode_decode_with_offsets 메서드를 사용해 각 문자의 바이트 오프셋을 확인할 수 있습니다. 이 두 메서드는 모두 tensorflow 모듈의 strings 클래스에 포함되어 있습니다.유니코드 문자열 처리 개요먼저 Python으로 유니코드 문자열을 표현한 뒤, 유니코드에 대응하는 연산들을 활용해 해당 문자열을 조작합니다. 표준 문자열 연산의 유니코드 버전을 사용하면 스크립트 감지(script detection)를 기반으로 유니코드 문자
모든 유니코드 코드 포인트는 스크립트(script)라고 불리는 하나의 코드 포인트 집합에 속합니다. 문자의 스크립트는 해당 문자가 어느 언어에 속하는지를 결정하는 중요한 기준이 됩니다. TensorFlow는 특정 코드 포인트가 어떤 스크립트를 사용하는지 확인할 수 있는 tf.strings.unicode_script 메서드를 제공합니다. 여기서 반환되는 스크립트 코드는 int32 값이며, ICU(International Components for Unicode)의 UScriptCode 값에 매핑됩니다.함께 읽기: TensorFlow란
텍스트 세분화(Segmentation)란?세분화(Segmentation)는 텍스트를 단어와 같은 단위로 분할하는 작업을 의미합니다. 영어처럼 공백 문자로 단어를 구분하는 언어라면 비교적 간단하지만, 중국어나 일본어처럼 띄어쓰기를 사용하지 않는 언어도 있고, 독일어처럼 긴 합성어가 많아 의미 분석을 위해 반드시 분할 과정이 필요한 언어도 있습니다.함께 읽으면 좋은 글: TensorFlow란 무엇이며, Keras는 어떻게 TensorFlow와 함께 신경망을 만들까요?유니코드(Unicode)와 문자 인코딩자연어를 처리하는 모델은 서로 다