SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Wandb Visualization
# Wandb
# Weight and Biases
# Visualization
# EDA
신원지
Contents
0. Motivation
1. Introduction
2. Tables Quickstart
3. Log Tables
2
0. Motivation
• 부스트캠프에서 wandb를 처음 알게됨
• 처음 보는 기능에 문화충격
• 새로운 기능들 발견
• Table의 다양한 사용 방식
• Jupyter notebook 과의 비교
• 여러 library 기능을 한 번에
• Docs 의 한글화
3
1. Introduction
Wandb Tables
• Tabular data 를 query, 기록, 분석 가능
• 이를 통해 데이터셋 이해, 모델 예측 시각화, 인사이트 공유 등이 가능
• 모델, epoch, 개별 예제 간 정확한 비교분석
• 시각적 표본을 통한 인사이트 도출 & 공유
• 데이터의 고수준 패턴 이해
4
1.1 log table 사용 방법
• 가장 빠른 방법
• wandb.log({"table": my_dataframe})
• Table에 다양한 media 타입의 요소들을 기록 가능
• Rich media types : Audio, BoundingBoxes2D, Graph, Histogram,
Html, Image, ImageMask, Molecule, Object3D, Plotly, Table,
Video
5
1.2 Wandb Tables?
• 각 컬럼이 한 종류의 데이터 타입을 가지는 2차원 grid data
• 지원 타입
• nested lists,
• dictionaries
• rich media types
• primitive and numeric types
6
1.3 Why use Tables?
1) Actually See your data
• 모델 학습 또는 평가 동안
metrics와 rich media 기록
• 클라우드 또는 self-hosted instance에
지속적으로 연동된 결과를 시각화
7
1.3 Why use Tables?
2) Interactively explore your data
• View, sort, filter, group, join, query
등의 기능 이용 가능
• Static file을 확인하거나
분석 스크립트 실행 불필요
8
1.3 Why use Tables?
3) 모델 버전 비교
• 다른 학습 에포크, 데이터셋, 하이퍼파라미터, 모델 아키텍쳐 등 빠른 비교
9
1.3 Why use Tables?
4) 미시적, 거시적 추적
• 특정 단계 에서의 구체적 예측 시각화(미시적)
• 한 가지 모델에서의 단계 비교
• 통계 모음, 오류 패턴 식별, 개선점 발견(거시적)
• 다른 모델 버전에서의 결과 비교
10
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Image Classification
11
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Audio
12
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Text
13
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Video
14
1.3 Why use Tables?
5) Wandb Table을 이용한 프로젝트 예시
Model Variants 비교 (semantic segmentation)
15
2. Tables Quickstart
2.1 Log a Table
2.2 Visualize tables in the workspace
2.3 Compare across model versions
16
2.1 Log a Table
• Run 초기화 → wandb.Table() 생성 -> run에 table 기록
17
2.2 Visualize tables in the workspace
• 각각의 유일한 테이블 key에 새로운 panel이 할당 됨
• “Table Name” 이란 key에 my_table 이 기록됨
18
2.3 Compare across model versions
• 프로젝트 워크스페이스에서 다수의
실행이 기록된 table 을 비교 가능
• 여러번의 실행을 결합하는 방법 예시
• 모델의 결과를 탐색하고 평가하기 위한
feature 들을 table을 이용해
필터, 정렬, 그룹화 가능
19
3. Log Tables
3.1 테이블 생성
3.2 데이터 추가
3.3 데이터 탐색
3.4 테이블 저장
3.5 Advanced : Artifact Tables
20
3.1 테이블 생성
• 데이터 각각의 행에 대해 보고싶은 열들의 구체화
• row : 트레이닝 데이터셋의 개별 요소, 학습 동안의 특정 단계 또는
epoch, 테스트 item에 대한 모델의 예측, 모델이 생성한 object
• Column type : numeric, text, boolean, image, video, audio 등
• column 명 명시 필요 없음(column index의 타입만 전달)
• 2가지 방법 사용 가능
21
3.1 테이블 생성
1) List of Rows
• 컬럼명과 데이터의 행을 기록
• wandb.Table(columns=["a", "b", "c"], data=[["1a", "1b", "1c"], ["2a", "2b",
"2c"]])
22
3.1 테이블 생성
2) Pandas DataFrame
• wandb.Table(dataframe=my_df)를
사용해 DataFrame 기록
• Column names == DataFrame의
column names
23
3.2 데이터 추가
• 200,000행 까지 데이터 추가, 변경 가능
• 2가지 데이터 추가 방법
1) Add a row
• table.add_data("3a", "3b", "3c")
• 추가 row 는 List가 아님
• list 의 방식을 원하면 table.add_data(*my_row_list) 와 같이 *1) 이용
• 추가 row도 같은 수의 column
1) *(asterisk) : container type의 data를 unpaking 할 때 사용
24
3.2 데이터 추가
2) Add a column
• table.add_column(name="col_name", data=col_data)
• Col_data : list data, numpy NDArray 가능
• len(Col_data) == 현재 테이블의 row 수
25
3.3 데이터 탐색
1) Row Iterator
• for ndx, row in table.iterrows(): … 같은 방식으로 데이터 탐색 가능
2) Get a Column
• table.get_column("col_name")
• convert_to="numpy" 를 사용하면 column을 Numpy NDArray로 변경 가능
• wandb.Image 같은 media type에서 underlying data에 직접 접근 가능
26
3.4 테이블 저장
1) Run에 테이블 기록
• wandb.log() 이용
• 같은 key에 기록될 때마다 새 버전의 테이블이 생성, 저장됨
• 이를 이용해 시간 변화에 따른 모델 예측 향상, 실행 비교 등 가능
• 최대 200,000개
• 최대치 이상 기록할 경우 wandb.Table.MAX_ROWS = X 와 같은 방식 사용
• 위의 방식은 UI 에서 query가 늦어지는 등의 performance issue가 있음
27
3.4 테이블 저장
2) Table 접근 방식
A. Run Summary
• Key에 기록된 run의 마지막 테이블에 접근
B. Artifact Access
• 특정 버전을 이용하고 싶은 경우 artifact API 이용
28
3.5 Advanced Artifact Tables
1) artifact.add() è workspace 대신 Artifacts section 이용 가능
29
3.5 Advanced Artifact Tables
2) Join Artifacts Tables
• Artifact에 기록한 2 테이블 join 가능
• Artifact에서 가져와 새로운 테이블에 join
30
Further Reading
• Visualize Predictions Over Time
• How to Compare Tables in Workspaces
• Image & Classification Models
• Text & Generative Language Models
• Named Entity Recognition
• AlphaFold Proteins
31
Reference
• Wandb docs
• 실습코드 깃헙
• Blog
32
Q&A
33
감사합니다
34

Más contenido relacionado

La actualidad más candente

画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピTakahiro Kubo
 
Towards Light-weight and Real-time Line Segment Detection
Towards Light-weight and Real-time Line Segment DetectionTowards Light-weight and Real-time Line Segment Detection
Towards Light-weight and Real-time Line Segment DetectionByung Soo Ko
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embeddingtaeseon ryu
 
Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupErik Bernhardsson
 
Hpo를 위한 sweep 소개
Hpo를 위한 sweep 소개Hpo를 위한 sweep 소개
Hpo를 위한 sweep 소개kiminPark2
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat ModelsDeep Learning JP
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기AWSKRUG - AWS한국사용자모임
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attentiontaeseon ryu
 
[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기
[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기
[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기NHN FORWARD
 
Feature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsFeature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsGabriel Moreira
 
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Toshinori Hanya
 
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion ModelsDeep Learning JP
 
어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?Yongho Ha
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Etsuji Nakai
 
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?Yongho Ha
 
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたOpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたHide Koba
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)Seongyun Byeon
 

La actualidad más candente (20)

画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ画像認識モデルを作るための鉄板レシピ
画像認識モデルを作るための鉄板レシピ
 
Towards Light-weight and Real-time Line Segment Detection
Towards Light-weight and Real-time Line Segment DetectionTowards Light-weight and Real-time Line Segment Detection
Towards Light-weight and Real-time Line Segment Detection
 
RoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position EmbeddingRoFormer: Enhanced Transformer with Rotary Position Embedding
RoFormer: Enhanced Transformer with Rotary Position Embedding
 
GPT
GPTGPT
GPT
 
Approximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetupApproximate nearest neighbor methods and vector models – NYC ML meetup
Approximate nearest neighbor methods and vector models – NYC ML meetup
 
Hpo를 위한 sweep 소개
Hpo를 위한 sweep 소개Hpo를 위한 sweep 소개
Hpo를 위한 sweep 소개
 
LDA入門
LDA入門LDA入門
LDA入門
 
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
【DL輪読会】Llama 2: Open Foundation and Fine-Tuned Chat Models
 
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
Spark + S3 + R3를 이용한 데이터 분석 시스템 만들기
 
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled AttentionDeBERTA : Decoding-Enhanced BERT with Disentangled Attention
DeBERTA : Decoding-Enhanced BERT with Disentangled Attention
 
BERT入門
BERT入門BERT入門
BERT入門
 
[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기
[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기
[2019] 하이퍼파라미터 튜닝으로 모델 성능 개선하기
 
Feature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive modelsFeature Engineering - Getting most out of data for predictive models
Feature Engineering - Getting most out of data for predictive models
 
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5Deep Learningで似た画像を見つける技術 | OHS勉強会#5
Deep Learningで似た画像を見つける技術 | OHS勉強会#5
 
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
【DL輪読会】High-Resolution Image Synthesis with Latent Diffusion Models
 
어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?
 
Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編Python 機械学習プログラミング データ分析ライブラリー解説編
Python 機械学習プログラミング データ分析ライブラリー解説編
 
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
빅데이터, 클라우드, IoT, 머신러닝. 왜 이렇게 많은 것들이 나타날까?
 
OpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみたOpenAI の音声認識 AI「Whisper」をテストしてみた
OpenAI の音声認識 AI「Whisper」をテストしてみた
 
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
[MLOps KR 행사] MLOps 춘추 전국 시대 정리(210605)
 

Similar a [부스트캠프 Tech Talk] 신원지_Wandb Visualization

몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차seung-hyun Park
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조Choonghyun Yang
 
Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Keeyong Han
 
Index Analysis
Index AnalysisIndex Analysis
Index Analysislactrious
 
제12장 시퀀스와 인덱스
제12장 시퀀스와 인덱스제12장 시퀀스와 인덱스
제12장 시퀀스와 인덱스sang doc Lee
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)SANG WON PARK
 
Unify data and model using Apache S2Graph and GraphQL.
Unify data and model using Apache S2Graph and GraphQL.Unify data and model using Apache S2Graph and GraphQL.
Unify data and model using Apache S2Graph and GraphQL.if kakao
 

Similar a [부스트캠프 Tech Talk] 신원지_Wandb Visualization (8)

몽고디비교육1일차
몽고디비교육1일차몽고디비교육1일차
몽고디비교육1일차
 
그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조그림으로 공부하는 오라클 구조
그림으로 공부하는 오라클 구조
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
Hadoop Introduction (1.0)
Hadoop Introduction (1.0)Hadoop Introduction (1.0)
Hadoop Introduction (1.0)
 
Index Analysis
Index AnalysisIndex Analysis
Index Analysis
 
제12장 시퀀스와 인덱스
제12장 시퀀스와 인덱스제12장 시퀀스와 인덱스
제12장 시퀀스와 인덱스
 
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
OLAP for Big Data (Druid vs Apache Kylin vs Apache Lens)
 
Unify data and model using Apache S2Graph and GraphQL.
Unify data and model using Apache S2Graph and GraphQL.Unify data and model using Apache S2Graph and GraphQL.
Unify data and model using Apache S2Graph and GraphQL.
 

Más de CONNECT FOUNDATION

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspendCONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_RecoilCONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까CONNECT FOUNDATION
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)CONNECT FOUNDATION
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and TaskCONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy StuffCONNECT FOUNDATION
 
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기CONNECT FOUNDATION
 
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로
[부스트캠프 Tech talk] 최영근  80x24 크기의 세계로[부스트캠프 Tech talk] 최영근  80x24 크기의 세계로
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로CONNECT FOUNDATION
 

Más de CONNECT FOUNDATION (20)

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
 
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
 
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
 
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
 
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로
[부스트캠프 Tech talk] 최영근  80x24 크기의 세계로[부스트캠프 Tech talk] 최영근  80x24 크기의 세계로
[부스트캠프 Tech talk] 최영근 80x24 크기의 세계로
 

[부스트캠프 Tech Talk] 신원지_Wandb Visualization

  • 1. Wandb Visualization # Wandb # Weight and Biases # Visualization # EDA 신원지
  • 2. Contents 0. Motivation 1. Introduction 2. Tables Quickstart 3. Log Tables 2
  • 3. 0. Motivation • 부스트캠프에서 wandb를 처음 알게됨 • 처음 보는 기능에 문화충격 • 새로운 기능들 발견 • Table의 다양한 사용 방식 • Jupyter notebook 과의 비교 • 여러 library 기능을 한 번에 • Docs 의 한글화 3
  • 4. 1. Introduction Wandb Tables • Tabular data 를 query, 기록, 분석 가능 • 이를 통해 데이터셋 이해, 모델 예측 시각화, 인사이트 공유 등이 가능 • 모델, epoch, 개별 예제 간 정확한 비교분석 • 시각적 표본을 통한 인사이트 도출 & 공유 • 데이터의 고수준 패턴 이해 4
  • 5. 1.1 log table 사용 방법 • 가장 빠른 방법 • wandb.log({"table": my_dataframe}) • Table에 다양한 media 타입의 요소들을 기록 가능 • Rich media types : Audio, BoundingBoxes2D, Graph, Histogram, Html, Image, ImageMask, Molecule, Object3D, Plotly, Table, Video 5
  • 6. 1.2 Wandb Tables? • 각 컬럼이 한 종류의 데이터 타입을 가지는 2차원 grid data • 지원 타입 • nested lists, • dictionaries • rich media types • primitive and numeric types 6
  • 7. 1.3 Why use Tables? 1) Actually See your data • 모델 학습 또는 평가 동안 metrics와 rich media 기록 • 클라우드 또는 self-hosted instance에 지속적으로 연동된 결과를 시각화 7
  • 8. 1.3 Why use Tables? 2) Interactively explore your data • View, sort, filter, group, join, query 등의 기능 이용 가능 • Static file을 확인하거나 분석 스크립트 실행 불필요 8
  • 9. 1.3 Why use Tables? 3) 모델 버전 비교 • 다른 학습 에포크, 데이터셋, 하이퍼파라미터, 모델 아키텍쳐 등 빠른 비교 9
  • 10. 1.3 Why use Tables? 4) 미시적, 거시적 추적 • 특정 단계 에서의 구체적 예측 시각화(미시적) • 한 가지 모델에서의 단계 비교 • 통계 모음, 오류 패턴 식별, 개선점 발견(거시적) • 다른 모델 버전에서의 결과 비교 10
  • 11. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Image Classification 11
  • 12. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Audio 12
  • 13. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Text 13
  • 14. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Video 14
  • 15. 1.3 Why use Tables? 5) Wandb Table을 이용한 프로젝트 예시 Model Variants 비교 (semantic segmentation) 15
  • 16. 2. Tables Quickstart 2.1 Log a Table 2.2 Visualize tables in the workspace 2.3 Compare across model versions 16
  • 17. 2.1 Log a Table • Run 초기화 → wandb.Table() 생성 -> run에 table 기록 17
  • 18. 2.2 Visualize tables in the workspace • 각각의 유일한 테이블 key에 새로운 panel이 할당 됨 • “Table Name” 이란 key에 my_table 이 기록됨 18
  • 19. 2.3 Compare across model versions • 프로젝트 워크스페이스에서 다수의 실행이 기록된 table 을 비교 가능 • 여러번의 실행을 결합하는 방법 예시 • 모델의 결과를 탐색하고 평가하기 위한 feature 들을 table을 이용해 필터, 정렬, 그룹화 가능 19
  • 20. 3. Log Tables 3.1 테이블 생성 3.2 데이터 추가 3.3 데이터 탐색 3.4 테이블 저장 3.5 Advanced : Artifact Tables 20
  • 21. 3.1 테이블 생성 • 데이터 각각의 행에 대해 보고싶은 열들의 구체화 • row : 트레이닝 데이터셋의 개별 요소, 학습 동안의 특정 단계 또는 epoch, 테스트 item에 대한 모델의 예측, 모델이 생성한 object • Column type : numeric, text, boolean, image, video, audio 등 • column 명 명시 필요 없음(column index의 타입만 전달) • 2가지 방법 사용 가능 21
  • 22. 3.1 테이블 생성 1) List of Rows • 컬럼명과 데이터의 행을 기록 • wandb.Table(columns=["a", "b", "c"], data=[["1a", "1b", "1c"], ["2a", "2b", "2c"]]) 22
  • 23. 3.1 테이블 생성 2) Pandas DataFrame • wandb.Table(dataframe=my_df)를 사용해 DataFrame 기록 • Column names == DataFrame의 column names 23
  • 24. 3.2 데이터 추가 • 200,000행 까지 데이터 추가, 변경 가능 • 2가지 데이터 추가 방법 1) Add a row • table.add_data("3a", "3b", "3c") • 추가 row 는 List가 아님 • list 의 방식을 원하면 table.add_data(*my_row_list) 와 같이 *1) 이용 • 추가 row도 같은 수의 column 1) *(asterisk) : container type의 data를 unpaking 할 때 사용 24
  • 25. 3.2 데이터 추가 2) Add a column • table.add_column(name="col_name", data=col_data) • Col_data : list data, numpy NDArray 가능 • len(Col_data) == 현재 테이블의 row 수 25
  • 26. 3.3 데이터 탐색 1) Row Iterator • for ndx, row in table.iterrows(): … 같은 방식으로 데이터 탐색 가능 2) Get a Column • table.get_column("col_name") • convert_to="numpy" 를 사용하면 column을 Numpy NDArray로 변경 가능 • wandb.Image 같은 media type에서 underlying data에 직접 접근 가능 26
  • 27. 3.4 테이블 저장 1) Run에 테이블 기록 • wandb.log() 이용 • 같은 key에 기록될 때마다 새 버전의 테이블이 생성, 저장됨 • 이를 이용해 시간 변화에 따른 모델 예측 향상, 실행 비교 등 가능 • 최대 200,000개 • 최대치 이상 기록할 경우 wandb.Table.MAX_ROWS = X 와 같은 방식 사용 • 위의 방식은 UI 에서 query가 늦어지는 등의 performance issue가 있음 27
  • 28. 3.4 테이블 저장 2) Table 접근 방식 A. Run Summary • Key에 기록된 run의 마지막 테이블에 접근 B. Artifact Access • 특정 버전을 이용하고 싶은 경우 artifact API 이용 28
  • 29. 3.5 Advanced Artifact Tables 1) artifact.add() è workspace 대신 Artifacts section 이용 가능 29
  • 30. 3.5 Advanced Artifact Tables 2) Join Artifacts Tables • Artifact에 기록한 2 테이블 join 가능 • Artifact에서 가져와 새로운 테이블에 join 30
  • 31. Further Reading • Visualize Predictions Over Time • How to Compare Tables in Workspaces • Image & Classification Models • Text & Generative Language Models • Named Entity Recognition • AlphaFold Proteins 31
  • 32. Reference • Wandb docs • 실습코드 깃헙 • Blog 32