keras-ํจ์ํ API
๐ก ํจ์ํ API
Sequential ํด๋์ค๋ ์ธต์ ์ฐจ๋ก๋๋ก ์์ ๋ชจ๋ธ์ ๋ง๋ ๋ค. ์ด ํด๋์ค๋ ์ธต์
์ฐจ๋ก๋๋ก ์์ ๋ชจ๋ธ์ ๋ง๋ ๋ค. ๊ทธ๋ฌ๋ ๋ฅ๋ฌ๋์์๋ ์ข ๋ ๋ณต์กํ ๋ชจ๋ธ์ด ๋ง์ด ์๋ค.
์๋ฅผ ๋ค์ด ์ ๋ ฅ์ด 2๊ฐ์ผ ์๋ ์๊ณ ์ถ๋ ฅ์ด 2๊ฐ์ผ ์๋ ์๋ค.
์ด๋ฐ ๊ฒฝ์ฐ์ Sequential ํด๋์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ต๋ค. ๋์ ํจ์ํ API๋ฅผ ์ฌ์ฉํ๋ค.
1
2
3
4
5
6
7
8
9
inputs = keras.layers.Input(shape=(784,))
# dense1์ธต์ ์
๋ ฅ๊ฐ inputs๋ฅผ ํต๊ณผ์ํจ๋ค.
hidden = dense1(inputs)
# ์ถ๋ ฅ์ธต
outputs = dense2(hidden)
model = keras.Model(inputs,outputs)
๋ง์น ์ฒด์ธ์ฒ๋ผ ์ ๋ ฅ์์ ์ถ๋ ฅ๊น์ง ์ฐ๊ฒฐํ๊ณ ๋ง์ง๋ง์ Model ํด๋์ค์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์
์ง์ ํ์ฌ ๋ชจ๋ฐ์ ๋ง๋ ๋ค. ์ด๋ ๊ฒ ๋ชจ๋ธ์ ๋ง๋ค ๊ฒฝ์ฐ ์ค๊ฐ์ ๋ค์ํ ํํ๋ก ์ธต์ ์ฐ๊ฒฐํ
์ ์๋ค.
๋ชจ๋ธ ๋ถ๋ฌ์ค๊ธฐ
1
2
model = keras.models.load_model('best-cnn-model.h5')
model.layers
์๋์ ๊ฐ์ด InputLayer์ ์ฒซ ๋ฒ์งธ Conv2D์ธต์ ๋ฝ์์ ์๋ก์ด ๋ชจ๋ธ์ ๋ง๋ค์์ ๋
predict ๋ฉ์๋๋ฅผ ํธ์ถํ๋ฉด Conv2D์ ์ถ๋ ฅ์ ๋ฐํํด์ค๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก conv_acti๋ก ๋ค์ํ ์ ๋ ฅ์ ํตํด ๋ค์ํ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค.
1
conv_acti = keras.Model(model.input, model.layers[0].output)
