Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AI勉強会_Kerasハンズオン#1_分類
Search
taashi
April 17, 2019
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AI勉強会_Kerasハンズオン#1_分類
社内勉強会資料
Keras
Google Colaboratory
(修正中...)
- precision, recallの説明追加
taashi
April 17, 2019
More Decks by taashi
See All by taashi
What is Haskell?
taashi
0
70
数学の世界~フラクタル~(社内勉強会1002)
taashi
0
180
論文LT会_論文紹介(CU-Net)
taashi
1
640
始めようElmでフロント開発_その02_ローカルWebアプリ
taashi
0
150
始めようElmでフロント開発_その01_Elmの基礎
taashi
0
150
Other Decks in Technology
See All in Technology
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
0
130
おい、エージェントを使って終わらせろ
nwiizo
1
620
Claude Code本って、 読む必要あるの?
oikon48
2
470
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
130
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
2
460
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
160
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
330
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
500
人間はどの意思決定を手放せるのか
kawasima
15
7.2k
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2k
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
3k
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
1.1k
We Are The Robots
honzajavorek
0
380
Done Done
chrislema
186
16k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
520
Designing Experiences People Love
moore
143
24k
ラッコキーワード サービス紹介資料
rakko
1
4.9M
Prompt Engineering for Job Search
mfonobong
0
450
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
440
Build your cross-platform service in a week with App Engine
jlugia
234
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Speed Design
sergeychernyshev
33
2.1k
Transcript
AI #1 (classification)
Keras
$# Google% Jupyter notebook$# Google Colaboratory (https://colab.research.google.com/)
12! " GPU, TPU! Google Drive &! … etc
Google Colab PYTHON Notebook
Colab!
(%"# ) : ! :
$ ! Notebook
$" !% GPU% #
GPU
%# & ’shift + enter’ "$ !
$’!’ " Linux !# Linux
ColabDrive&+ Google Drive! drive" Colb)' drive"%* from
google.colab import drive drive.mount('/content/drive') "( google.colabdrive ! Drive.mount$# Google Drive!
' !# URL (& ) Google
Drive% "$ (1)
$ # %! & ' " (’enter’ Google
Drive (2)
E@$#%"! <; *(7- ?.=384 :E@ 96 <;7 <;&'!Slack>
1, PLAYGROUND / 0C D5)+A - $# -2B
,89 Team Drives*(@2)/$#!7 "' 10Team Drives$#!5< (3:-
…) # [001] Install use items &% !.+ Team Drives $#!"' .+46 =; >? # [002] Mount GoogleDrive # [003] Copy data from google drive # [004] Check directory structure
Keras")* $&! '&
% $ )*#( )* $
:'<$ /1 !% '<9 '<7 *)0
(C F ) '<!% '<93" !5 '<9> (,?) '< 8) CF'<9A'< D+('24)(6. 8) FBC;&C'<-= (@+ #E)
Keras PythonA 8<BNNW0!,01 +($"4*TensorFlow, CNTK, Theano ; ID-3)'!- @
CPUGPU6%.2&;@ … etc :>A =?7#&&/ (=?7 ) 59 (JH) E : =?7 GCF
#$ # [005] Define constant value # [006] Make data
file list # [007] Check dog data # [008] Check cat data " ! " ‘_t_XXX.png’ &(Train) ‘_v_XXX.png’ (Validation) ‘_e_XXX.png’ %(Evaluate)
+.0 )C57 ,? %98 /- %98%:=>E04 @) H*(:[1, 0],
G*(:[0, 1] ,? ;F %98G or H OneHotVector )CA("$%&#!),? 6 2 %98'.(B1D ) numpy>E04<3
!#'% KerasOneHotVactor -*' &#$ import keras.utils as ku class_ids
= np.array([1, 0, 1, 1, 2, 0]) one_hots = ku.to_categorical(class_ids) print(one_hots) > [[0, 1, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1], [1, 0, 0]] # [009] Make input and teacher data " (,cv2imread Numpy)+ OK
!$ Keras!$ 1) Sequential " 2) functional API# "
Keras!$ " 2) &( " 2)functional API# "'%
#&) % functional API$ % input_layer = Input((64,
64, 1)) cv_1_layer = Conv2D(32, 3)(input_layer) cv_2_layer = Conv2D(64, 3)(cv_1_layer) max_layer = MaxPooling2D()(cv_2_layer) flat_layer = Flatten()(max_layer) output_layer = Dense(2)(flat_layer) *'(" Keras !
Input&! input_layer = Input((64, 64, 1))
( Input(input_shape) #% input_shape ' $ "
Convolution!Conv2D1) Convolution! cv_1_layer = Conv2D(32, 3)(input_layer) 4 Conv2D(filters, kernel_size,
strides=(1, 1), padding=‘valid’, activation=None) *,- filters ( ) (30/%.-) kernel_size - 5 #"+% strides - 5 #"+% padding’valid’padding3 ’same’ 2('&$ activation
MaxPoolingMaxPooling2D.& MaxPooling max_layer = MaxPooling2D()(cv_layer) 3 MaxPooling2D(pool_size=(2, 2), strides=None)
')* pool_size *4 " (# strides *4 " (# ,%2+$ . /5610-!
Flatten# flat_layer = Flatten()(max_layer) % Flatten()
"! $&
Dense output_layer = Dense(2)(flat_layer)
Dense(units, activation=None) units activation
! Activate act_layer = Activate(activation='relu’)(cv_layer)
" Activate(activation=None) activation
;5F(%'- #! (%'- #!3D CB 14,"* (Input)!G.E7<,"* 9:input_shape==3A8 CB
@?& $!6>/ 0/2 & $!)+%'( @?)A8 3D # [010] Define Network
input_layer = Input(IMAGE_SHAPE) cv1_1 = Conv2D(32, 3, padding='same', input_shape=IMAGE_SHAPE)(input_layer)
cv1_1 = Activation(activation='relu')(cv1_1) cv1_2 = Conv2D(32, 3, padding='same')(cv1_1) cv1_2 = Activation(activation='relu')(cv1_2) cv1_max = MaxPooling2D()(cv1_2) cv2_1 = Conv2D(64, 3, padding='same')(cv1_max) cv2_1 = Activation(activation='relu')(cv2_1) cv2_2 = Conv2D(64, 3, padding='same')(cv2_1) cv2_2 = Activation(activation='relu')(cv2_2) cv2_max = MaxPooling2D()(cv2_2) flat_layer = Flatten()(cv2_max) fc = Dense(2)(flat_layer) output_layer = Activation(activation='softmax')(fc)
" Model# Keras model = Model(inputs=[input_layer],
outputs=[output_layer]) Model ! inputs ( ) outputs ( )( ) % $
()'# ! & '# model.summary() +*$ from keras.utils
import plot_model plot_model(model, to_file=MODEL_PNG_NAME) to_file " dot ()%
!- !- model.compile(optimizer=Adam(), loss='categorical_crossentropy',
metrics=['accuracy']) " %& optimizer loss metrics " [’accuracy’]( $ ,#' +*& crossentropy)
fit history = model.fit(train_inputs, train_teachers, batch_size=20,
epochs=100 , validation_data=(valid_inputs, valid_teachers) , shuffle=True, verbose=1, callbacks=callbacks) train_inputs$*#! train_teachers$*#') batch_size epochs % validation_data&(# (!, ')) shuffle! verbose$*!" (1 ) callbacks %()
+ "& + model.save_weights(save_file_name) $+ & ' )*%#(!
model.save(save_file_name) )* $+ & , &
+ # [012] Train
!*Adam )'$categorical_crossentropy & % (# +",
+./, # [013] Check loss and acc '
&#(3loss41acc41$ )% loss((3loss) % (3 )% val loss(*-loss) 5% "! 0(32
0, 0,&"#$ +( "#$ from keras.models import load_model model
= load_model(model_file) !%-. '/ $ model = Model(inputs=[input_layer], outputs=[output_layer]) model.load_weights(model_file) )'/ $ "#-.* $
predict model.predict(predict_inputs) predict_inputs (
) # [014] Load trained model # [015] Predict (Train data) # [016] Predict (Valid data) # [017] Predict (Evaluate data)
'43 51$ (-". 0 '43 , #!///+
)*//&2 1% //&2
,+#%3417 #%3417 0.68 !'" 5/ 2 3+-4+-Convolution&$* Dropout0.55/ .6
,+0.6 ()
Dropout drop_layer =
Dropout()(cv_layer) Dropout(rate) rate
;JIL0'$)8H "&*<F'$)G 8H"&*BK Keras Callback(!:= 64A;J-.
A;J1 lossE N28H</ Callback;J+C%#M(O@3 %#M) ) D97, ;J(fit)5?callbacls>?@3
# " ModelCheckpoint " import keras.callbacks as kc kc.ModelCheckpoint(
filepath=MODEL_FILE_NAME, save_weights_only=True , save_best_only=True, period=1) filepath ( ) save_weights_only save_best_only period ! val_loss!
AutoEncoder etc
…
Keras