코드 예제

목차

  1. 컴퓨터 비전
    1. 이미지 분류
    2. 이미지 세그멘테이션
    3. 객체 감지
    4. 3D
    5. OCR
    6. 이미지 강화
    7. 데이터 보강
    8. 이미지 & 텍스트
    9. 비전 모델 해석 가능성
    10. 이미지 유사도 검색
    11. 비디오
    12. 성능 레시피
    13. 기타
  2. 자연어 처리 (Natural Language Processing)
    1. 텍스트 분류
    2. 기계 번역
    3. 연관성 예측 (Entailment prediction)
    4. 명명된 엔티티 인식
    5. Sequence-to-sequence
    6. 텍스트 유사도 검색
    7. 언어 모델링
    8. 효율적인 매개변수 미세 조정
    9. 기타
  3. 구조화된 데이터
    1. 구조화된 데이터 분류
    2. 추천
    3. 기타
  4. 타임시리즈
    1. 타임시리즈 분류
    2. 이상 징후 탐지
    3. 타임시리즈 예측
  5. 생성형 딥러닝
    1. 이미지 생성
    2. 스타일 전이
    3. 텍스트 생성
    4. 그래프 생성
    5. 기타
  6. 오디오 데이터
    1. 음성 인식
    2. 기타
  7. 강화 학습
    1. RL 알고리즘
    2. 기타
  8. 그래프 데이터
  9. 빠른 Keras 레시피
    1. 서빙
    2. Keras 사용 팁
    3. ML 모범 사례
    4. 기타
  10. 새 코드 예제 추가하기

코드 예제

우리의 코드 예제는 300줄 미만의 짧은 코드이며, 수직적 딥러닝 워크플로우에 대한 집중적인 데모입니다.

모든 예제는 Jupyter 노트북으로 작성되었으며, 별도의 설정이 필요 없고 클라우드에서 실행되는 호스팅 노트북 환경인 Google Colab에서 클릭 한 번으로 실행할 수 있습니다. Google Colab에는 GPU 및 TPU 런타임이 포함되어 있습니다.

시작하기 좋은 예제

V3

Keras 3 예제

컴퓨터 비전

이미지 분류

V3

처음부터 이미지 분류 (Image classification from scratch)

.

V3

간단한 MNIST convnet (Simple MNIST convnet)

.

V3

EfficientNet으로 하는 미세 조정을 통한 이미지 분류 (Image classification via fine-tuning with EfficientNet)

.

V3

비전 트랜스포머로 이미지 분류 (Image classification with Vision Transformer)

.

V3

어텐션 기반 심층 다중 인스턴스 학습(MIL)을 사용한 분류 (Classification using Attention-based Deep Multiple Instance Learning)

.

V3

최신 MLP 모델을 사용한 이미지 분류 (Image classification with modern MLP models)

.

V3

이미지 분류를 위한 모바일 친화적인 트랜스포머 기반 모델 (A mobile-friendly Transformer-based model for image classification)

.

V3

TPU에서 폐렴 분류 (Pneumonia Classification on TPU)

.

V3

컴팩트 컨볼루션 트랜스포머 (Compact Convolutional Transformers)

.

V3

ConvMixer로 이미지 분류 (Image classification with ConvMixer)

.

V3

EANet(External Attention Transformer)을 사용한 이미지 분류 (Image classification with EANet (External Attention Transformer))

.

V3

인볼루션 신경망 (Involutional neural networks)

.

V3

Perceiver로 이미지 분류 (Image classification with Perceiver)

.

V3

Reptile을 사용한 퓨샷 학습 (Few-Shot learning with Reptile)

.

V3

SimCLR을 사용한 대조 사전 트레이닝을 사용한 반지도 이미지 분류 (Semi-supervised image classification using contrastive pretraining with SimCLR)

.

V3

Swin 트랜스포머를 사용한 이미지 분류 (Image classification with Swin Transformers)

.

V2

소규모 데이터 세트에 대해 비전 트랜스포머 트레이닝 (Train a Vision Transformer on small datasets)

.

V2

어텐션이 없는 비전 트랜스포머 (A Vision Transformer without Attention)

.

V3

글로벌 컨텍스트 비전 트랜스포머를 이용한 이미지 분류 (Image Classification using Global Context Vision Transformer)

.

V3

BigTransfer(BiT)를 사용한 이미지 분류 (Image Classification using BigTransfer (BiT))

.

이미지 세그멘테이션

V3

U-Net과 유사한 아키텍처를 사용한 이미지 세그멘테이션 (Image segmentation with a U-Net-like architecture)

.

V3

DeepLabV3+를 사용한 다중 클래스 시맨틱 세그멘테이션 (Multiclass semantic segmentation using DeepLabV3+)

.

V2

BASNet을 사용한 매우 정확한 경계 세그멘테이션 (Highly accurate boundaries segmentation using BASNet)

.

V3

Composable 완전 컨볼루션 네트워크를 사용한 이미지 세그멘테이션 (Image Segmentation using Composable Fully-Convolutional Networks)

.

객체 감지

V2

RetinaNet을 이용한 객체 감지 (Object Detection with RetinaNet)

.

V3

전이 학습을 통한 키포인트 감지 (Keypoint Detection with Transfer Learning)

.

V3

비전 트랜스포머를 사용한 객체 감지 (Object detection with Vision Transformers)

.

3D

V3

CT 스캔의 3D 이미지 분류 (3D image classification from CT scans)

.

V2

단안 깊이 추정 (Monocular depth estimation)

.

V3

NeRF를 사용한 3D 체적 렌더링 (3D volumetric rendering with NeRF)

.

V3

PointNet을 사용한 포인트 클라우드 세그멘테이션 (Point cloud segmentation with PointNet)

.

V3

PointNet을 사용한 포인트 클라우드 분류 (Point cloud classification)

.

OCR

V3

캡챠 읽기를 위한 OCR 모델 (OCR model for reading Captchas)

.

V2

손글씨 인식 (Handwriting recognition)

.

이미지 강화

V3

이미지 노이즈 제거를 위한 컨볼루셔널 오토인코더 (Convolutional autoencoder for image denoising)

.

V3

MIRNet을 사용한 저조도 이미지 향상 (Low-light image enhancement using MIRNet)

.

V3

Efficient Sub-Pixel CNN을 사용한 이미지 초해상도 (Image Super-Resolution using an Efficient Sub-Pixel CNN)

.

V2

단일 이미지 초해상도를 위한 향상된 깊은 Residual 네트워크 (Enhanced Deep Residual Networks for single-image super-resolution)

.

V3

저조도 이미지 향상을 위한 Zero-DCE (Zero-DCE for low-light image enhancement)

.

데이터 보강

V3

이미지 분류를 위한 CutMix 데이터 보강 (CutMix data augmentation for image classification)

.

V3

이미지 분류를 위한 MixUp 보강 (MixUp augmentation for image classification)

.

V3

견고성 향상을 위한 이미지 분류를 위한 RandAugment (RandAugment for Image Classification for Improved Robustness)

.

이미지 & 텍스트

V3

이미지 캡션 (Image captioning)

.

V2

듀얼 인코더를 이용한 자연어 이미지 검색 (Natural language image search with a Dual Encoder)

.

비전 모델 해석 가능성

V3

Convnets이 학습한 내용 시각화 (Visualizing what convnets learn)

.

V3

통합 그래디언트를 통한 모델 해석 가능성 (Model interpretability with Integrated Gradients)

.

V3

비전 트랜스포머 표현 조사 (Investigating Vision Transformer representations)

.

V3

Grad-CAM 클래스 활성화 시각화 (Grad-CAM class activation visualization)

.

V2

중복에 가까운 이미지 검색 (Near-duplicate image search)

.

V3

시맨틱 이미지 클러스터링 (Semantic Image Clustering)

.

V3

대비 손실이 있는 Siamese 네트워크를 사용한 이미지 유사도 추정 (Image similarity estimation using a Siamese Network with a contrastive loss)

.

V3

삼중(triplet) 손실이 있는 Siamese 네트워크를 사용한 이미지 유사도 추정 (Image similarity estimation using a Siamese Network with a triplet loss)

.

V3

이미지 유사도 검색을 위한 메트릭 학습 (Metric learning for image similarity search)

.

V2

TensorFlow Similarity를 사용한 이미지 유사도 검색을 위한 메트릭 학습 (Metric learning for image similarity search using TensorFlow Similarity)

.

V3

NNCLR을 사용한 자기 지도 대조 학습 (Self-supervised contrastive learning with NNCLR)

.

비디오

V3

CNN-RNN 아키텍처를 사용한 비디오 분류 (Video Classification with a CNN-RNN Architecture)

.

V3

컨볼루션 LSTM을 사용한 다음 프레임 비디오 예측 (Next-Frame Video Prediction with Convolutional LSTMs)

.

V3

트랜스포머를 사용한 비디오 분류 (Video Classification with Transformers)

.

V3

비디오 비전 트랜스포머 (Video Vision Transformer)

.

성능 레시피

V3

트레이닝 성능 향상을 위한 그래디언트 중앙화 (Gradient Centralization for Better Training Performance)

.

V3

비전 트랜스포머에서 토큰화 학습하기 (Learning to tokenize in Vision Transformers)

.

V3

지식 증류 (Knowledge Distillation)

.

V3

FixRes: 트레이닝-테스트 해상도 불일치 수정 (FixRes: Fixing train-test resolution discrepancy)

.

V3

LayerScale을 사용한 클래스 어텐션 이미지 트랜스포머 (Class Attention Image Transformers with LayerScale)

.

V3

통합 어텐션으로 컨볼루션 네트워크 강화 (Augmenting convnets with aggregated attention)

.

V3

컴퓨터 비전에서 리사이즈 학습 (Learning to Resize)

.

기타

V2

AdaMatch를 통한 반지도 및 도메인 적응 (Semi-supervision and domain adaptation with AdaMatch)

.

V2

Contrastive SSL을 위한 Barlow Twins (Barlow Twins for Contrastive SSL)

.

V2

지도를 통한 일관성 트레이닝 (Consistency training with supervision)

.

V2

증류식 비전 트랜스포머 (Distilling Vision Transformers)

.

V2

초점 변조(Focal Modulation): 셀프 어텐션을 대체하는 (Focal Modulation: A replacement for Self-Attention)

.

V2

이미지 분류를 위한 Forward-Forward 알고리즘 사용 (Using the Forward-Forward Algorithm for Image Classification)

.

V2

자동 인코더를 사용한 마스크 이미지 모델링 (Masked image modeling with Autoencoders)

.

V2

🤗 트랜스포머로 무엇이든 모델 세그먼트 (Segment Anything Model with 🤗Transformers)

.

V2

SegFormer와 Hugging Face 트랜스포머를 사용한 시맨틱 세그멘테이션 (Semantic segmentation with SegFormer and Hugging Face Transformers)

.

V2

SimSiam을 이용한 자기 지도 대조 학습 (Self-supervised contrastive learning with SimSiam)

.

V2

지도 대조 학습 (Supervised Contrastive Learning)

.

V2

Recurrence와 트랜스포머의 만남 (When Recurrence meets Transformers)

.

V2

YOLOV8 및 KerasCV를 통한 효율적인 객체 감지 (Efficient Object Detection with YOLOV8 and KerasCV)

.


자연어 처리 (Natural Language Processing)

텍스트 분류

V3

처음부터 텍스트 분류 (Text classification from scratch)

.

V2

Active 학습을 사용한 분류 리뷰 (Review Classification using Active Learning)

.

V3

FNet을 사용한 텍스트 분류 (Text Classification using FNet)

.

V2

대규모 다중 레이블 텍스트 분류 (Large-scale multi-label text classification)

.

V3

트랜스포머로 텍스트 분류 (Text classification with Transformer)

.

V3

스위치 트랜스포머로 텍스트 분류 (Text classification with Switch Transformer)

.

V2

의사 결정 포레스트와 사전 트레이닝된 임베딩을 사용한 텍스트 분류 (Text classification using Decision Forests and pretrained embeddings)

.

V3

사전 트레이닝된 단어 임베딩 사용 (Using pre-trained word embeddings)

.

V3

IMDB에 대한 양방향 LSTM (Bidirectional LSTM on IMDB)

.

V3

KerasNLP 및 tf.distribute를 사용한 데이터 병렬 트레이닝 (Data Parallel Training with KerasNLP and tf.distribute)

.

기계 번역

V3

KerasNLP를 사용한 영어-스페인어 번역 (English-to-Spanish translation with KerasNLP)

.

V3

시퀀스-to-시퀀스 트랜스포머를 사용한 영어-스페인어 번역 (English-to-Spanish translation with a sequence-to-sequence Transformer)

.

V3

문자 레벨 recurrent 시퀀스-to-시퀀스 모델 (Character-level recurrent sequence-to-sequence model)

.

연관성 예측 (Entailment prediction)

V2

멀티모달 수반 (Multimodal entailment)

.

명명된 엔티티 인식

V3

트랜스포머를 사용한 명명된 엔티티 인식 (Named Entity Recognition using Transformers)

.

Sequence-to-sequence

V2

BERT를 사용한 텍스트 추출 (Text Extraction with BERT)

.

V3

숫자 덧셈을 수행하기 위한 시퀀스-to-시퀀스 학습 (Sequence to sequence learning for performing number addition)

.

V3

KerasNLP를 사용한 시맨틱 유사성 (Semantic Similarity with KerasNLP)

.

V3

BERT를 사용한 시맨틱 유사성 (Semantic Similarity with BERT)

.

V3

Siamese RoBERTa 네트워크를 사용한 문장 임베딩 (Sentence embeddings using Siamese RoBERTa-networks)

.

언어 모델링

V2

BERT를 사용한 엔드투엔드 마스크 언어 모델링 (End-to-end Masked Language Modeling with BERT)

.

V2

Hugging Face 트랜스포머로 BERT 사전 트레이닝하기 (Pretraining BERT with Hugging Face Transformers)

.

효율적인 매개변수 미세 조정

V3

LoRA가 있는 GPT-2의 효율적인 파라미터 미세 조정 (Parameter-efficient fine-tuning of GPT-2 with LoRA)

.

기타

V2

BART를 사용한 추상적 텍스트 요약 (Abstractive Text Summarization with BART)

.

V2

🤗 트랜스포머 및 TPU를 사용하여 처음부터 언어 모델 트레이닝하기 (Training a language model from scratch with 🤗 Transformers and TPUs)

.

V2

전이 학습으로 객관식 과제 (MultipleChoice Task with Transfer Learning)

.

V2

Hugging Face 트랜스포머로 질문 답변하기 (Question Answering with Hugging Face Transformers)

.

V2

Hugging Face 트랜스포머를 사용한 추상적 요약 (Abstractive Summarization with Hugging Face Transformers)

.


구조화된 데이터

구조화된 데이터 분류

V3

FeatureSpace를 사용한 구조화된 데이터 분류 (Structured data classification with FeatureSpace)

.

V3

불균형 분류: 신용 카드 사기 탐지 (Imbalanced classification: credit card fraud detection)

.

V3

처음부터 구조화된 데이터 분류 (Structured data classification from scratch)

.

V3

와이드, 딥, 크로스 네트워크를 통한 구조화된 데이터 학습 (Structured data learning with Wide, Deep, and Cross networks)

.

V2

Gated Residual 및 변수 선택 네트워크를 사용한 분류 (Classification with Gated Residual and Variable Selection Networks)

.

V2

TensorFlow 의사 결정 포리스트를 사용한 분류 (Classification with TensorFlow Decision Forests)

.

V3

신경 의사 결정 포레스트를 사용한 분류 (Classification with Neural Decision Forests)

.

V3

TabTransformer를 사용한 구조화된 데이터 학습 (Structured data learning with TabTransformer)

.

추천

V3

영화 추천을 위한 Collaborative 필터링 (Collaborative Filtering for Movie Recommendations)

.

V3

트랜스포머 기반 추천 시스템 (A Transformer-based recommendation system)

.

기타

V2

FeatureSpace 고급 사용 사례 (FeatureSpace advanced use cases)

.


타임시리즈

타임시리즈 분류

V3

처음부터 시계열 분류 (Timeseries classification from scratch)

.

V3

트랜스포머 모델을 사용한 시계열 분류 (Timeseries classification with a Transformer model)

.

V3

행동 식별을 위한 뇌파 신호 분류 (Electroencephalogram Signal Classification for action identification)

.

V3

결제 카드 사기 탐지를 위한 이벤트 분류 (Event classification for payment card fraud detection)

.

이상 징후 탐지

V3

자동 인코더를 사용한 시계열 이상 탐지 (Timeseries anomaly detection using an Autoencoder)

.

타임시리즈 예측

V3

그래프 신경망과 LSTM을 사용한 트래픽 예측 (Traffic forecasting using graph neural networks and LSTM)

.

V3

날씨 예측을 위한 시계열 예측 (Timeseries forecasting for weather prediction)

.


생성형 딥러닝

이미지 생성

V3

노이즈 제거 확산 암시적 모델 (Denoising Diffusion Implicit Models)

.

V3

안정적인 Diffusion으로 잠재된 공간 걷기 (A walk through latent space with Stable Diffusion)

.

V2

DreamBooth

.

V2

노이즈 제거 확산 확률론적 모델 (Denoising Diffusion Probabilistic Models)

.

V2

텍스트 반전을 통해 StableDiffusion의 새로운 개념 가르치기 (Teach StableDiffusion new concepts via Textual Inversion)

.

V2

Stable Diffusion 미세 조정

.

V3

변형 자동인코더 (Variational AutoEncoder)

.

V3

Model.train_step을 오버라이딩 하는 GAN (GAN overriding Model.train_step)

.

V3

Model.train_step을 오버라이딩 하는 WGAN-GP (WGAN-GP overriding Model.train_step)

.

V3

조건부 GAN (Conditional GAN)

.

V2

CycleGAN

.

V2

적응형 판별자 보강을 통한 데이터 효율적 GAN (Data-efficient GANs with Adaptive Discriminator Augmentation)

.

V3

Deep Dream

.

V3

조건부 이미지 생성을 위한 GauGAN (GauGAN for conditional image generation)

.

V3

PixelCNN

.

V2

StyleGAN으로 얼굴 이미지 생성 (Face image generation with StyleGAN)

.

V2

벡터화된 변형 자동 인코더 (Vector-Quantized Variational Autoencoders)

.

스타일 전이

V3

신경 스타일 전송 (Neural style transfer)

.

V2

AdaIN을 사용한 신경 스타일 전송 (Neural Style Transfer with AdaIN)

.

텍스트 생성

V3

KerasNLP를 사용한 GPT2 텍스트 생성 (GPT2 Text Generation with KerasNLP)

.

V3

KerasNLP로 처음부터 GPT 텍스트 생성하기 (GPT text generation from scratch with KerasNLP)

.

V3

미니어처 GPT로 텍스트 생성 (Text generation with a miniature GPT)

.

V3

LSTM을 사용한 문자 레벨 텍스트 생성 (Character-level text generation with LSTM)

.

V2

FNet을 사용한 텍스트 생성 (Text Generation using FNet)

.

그래프 생성

V2

VAE를 사용한 약물 분자 생성 (Drug Molecule Generation with VAE)

.

V2

작은 분자 그래프 생성을 위한 R-GCN이 포함된 WGAN-GP (WGAN-GP with R-GCN for the generation of small molecular graphs)

.

기타

V2

Real NVP를 사용한 밀도 추정 (Density estimation using Real NVP)

.


오디오 데이터

음성 인식

V3

트랜스포머를 통한 자동 음성 인식 (Automatic Speech Recognition with Transformer)

.

기타

V2

CTC를 사용한 자동 음성 인식 (Automatic Speech Recognition using CTC)

.

V2

특징 매칭을 사용한 MelGAN 기반 스펙트로그램 반전 (MelGAN-based spectrogram inversion using feature matching)

.

V2

화자 인식 (Speaker Recognition)

.

V2

전이 학습을 사용한 영어 화자 억양 인식 (English speaker accent recognition using Transfer Learning)

.

V2

Hugging Face 트랜스포머를 사용한 오디오 분류 (Audio Classification with Hugging Face Transformers)

.


강화 학습

RL 알고리즘

V3

Actor Critic 방법 (Actor Critic Method)

.

V3

Proximal 정책 최적화 (Proximal Policy Optimization)

.

V3

아타리 브레이크아웃을 위한 심층 Q-러닝 (Deep Q-Learning for Atari Breakout)

.

기타

V2

심층 결정론적 정책 그래디언트(DDPG) (Deep Deterministic Policy Gradient (DDPG))

.


그래프 데이터

V2

노드 분류를 위한 그래프 어텐션 네트워크(GAT) (Graph attention network (GAT) for node classification)

.

V2

그래프 신경망을 사용한 노드 분류 (Node Classification with Graph Neural Networks)

.

V2

분자 특성 예측을 위한 메시지 전달 신경망(MPNN) (Message-passing neural network (MPNN) for molecular property prediction)

.

V2

node2vec을 사용한 그래프 표현 학습 (Graph representation learning with node2vec)

.


빠른 Keras 레시피

서빙

V3

TFServing으로 TensorFlow 모델 서비스하기 (Serving TensorFlow models with TFServing)

.

Keras 사용 팁

V3

Keras 디버깅 팁 (Keras debugging tips)

.

V3

Conv2D 레이어의 컨볼루션 연산 커스터마이즈하기 (Customizing the convolution operation of a Conv2D layer)

.

V3

트레이너 패턴 (Trainer pattern)

.

V3

엔드포인트 레이어 패턴 (Endpoint layer pattern)

.

V3

Keras 모델의 재현성 (Reproducibility in Keras Models)

.

V3

TensorFlow NumPy로 Keras 모델 작성하기 (Writing Keras Models With TensorFlow NumPy)

.

V3

간단한 커스텀 레이어 예시: Antirectifier (Simple custom layer example: Antirectifier)

.

V3

함수형 서브클래싱을 사용하여 광범위한 배포를 위한 Keras 모델 패키징 (Packaging Keras models for wide distribution using Functional Subclassing)

.

ML 모범 사례

V3

모델 트레이닝에 필요한 샘플 크기 추정 (Estimating required sample size for model training)

.

V3

추천 시스템을 위한 메모리 효율적인 임베딩 (Memory-efficient embeddings for recommendation systems)

.

V3

TFRecord 만들기 (Creating TFRecords)

.

기타

V2

Mixture Density 네트워크로 비함수 매핑 근사화 (Approximating non-Function Mappings with Mixture Density Networks)

.

V2

확률론적 베이지안 신경망 (Probabilistic Bayesian Neural Networks)

.

V2

지식 증류 레시피 (Knowledge distillation recipes)

.

V2

Keras 콜백에서 scikit-learn 메트릭 평가 및 내보내기 (Evaluating and exporting scikit-learn metrics in a Keras callback)

.

V2

TFRecord 파일에서 Keras 모델을 트레이닝하는 방법 (How to train a Keras model on TFRecord files)

.


새 코드 예제 추가하기

우리는 새로운 코드 예제를 환영합니다! 규칙은 다음과 같습니다:

  • 코드 길이가 300줄 미만이어야 합니다. (주석은 원하는 만큼 길어도 됩니다)
  • 최신 Keras 모범 사례를 보여줄 수 있어야 합니다.
  • 위에 나열된 모든 예제와는 주제가 상당히 달라야 합니다.
  • 광범위하게 문서화되고 주석을 달아야 합니다.

새로운 예제는 Pull 리퀘스트를 통해 keras.io 리포지토리에 추가됩니다. 예제는 특정 형식을 따르는 .py 파일로 제출해야 합니다. 예제는 보통 Jupyter 노트북에서 생성됩니다. 자세한 내용은 tutobooks 문서를 참조하세요.

Keras 2 예제를 Keras 3으로 변환하려면, keras.io 리포지토리에 Pull 리퀘스트를 열어주세요.


Table of contents