- Published on
๐STUDY ์น ๋ธ๋ผ์ฐ์ ์ ๋จธ์ ๋ฌ๋ Tensorflow.js | ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ Tensorflow.js๋ก ๊ฐ์ ธ์ค๊ธฐ
ํฌํฐ๋ธ ๋ชจ๋ธ ํ์
ํ์ต๋ ๋ชจ๋ธ์ ์ฌ์ฌ์ฉํ๊ธฐ ์ํด ์กฐ๊ฑด์ ์๋์ ๊ฐ๋ค
- lightweight
- serializable: ๋์คํฌ๋ ๋คํธ์ํฌ๋ฅผ ํตํด ๊ณต์ ๊ฐ ๊ฐ๋ฅํด์ผ ํจ
- compatible
์ง๋ ฌํ๊ฐ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด ํ๋กํ ์ฝ ๋ฒํผ๋ฅผ ์ด์ฉํ๋๋ฐ ๋ค์ํ ์ธ์ด์์ ์ฝ๋ ๊ฒ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
.onnx๊ฐ ๋ํ์ ์ธ ์.
์๋์ ๊ฐ์ด ๊ตฌ์กฐ์ ์์ฑ์ ๋๋๋๋ฐ, ์ด๋ ๊ตฌ์กฐ์ ์ฐ์ฐ์ ๋ถ๋ฆฌํ์ฌ ํํํ ์ ์๊ฒ ํ๋ค.
- GraphDef: ํ๋กํ ์ฝ ๋ฒํผ ๋ด๋ถ ๊ทธ๋ํ ๊ตฌ์กฐ ํํ
- NodeDef: ๋ด๋ถ ์ฐ์ฐ ๋ ธ๋
- name
- op: ์ฐ์ฐ ๊ตฌํ๋ถ ํฌ์ธํฐ
- input: ์ ๋ ฅ ๋ ธ๋(list)
- device: ์ฐ์ฐ์ ์ํํ ์ฅ์น
- attr: ์ฐ์ฐ์ ํ์ํ ์์ฑ๋ค
ํ ์ํ๋ก์์ ๋ชจ๋ธ ๋ด๋ณด๋ด๊ธฐ
์ด์ธ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ SavedModel(Tensorflow), ๊ทธ๋ฆฌ๊ณ Keras ๋ชจ๋ธ์ด ์๋ค. ์ฌ๋ฌ ๋ฉํ๋ฐ์ดํฐ๊ทธ๋ํ๋ฅผ ์ ์ฅํ๋ ํ
์ํ๋ก ๋ฐฉ์๊ณผ ๋ฌ๋ฆฌ Keras๊ฐ ์ ์ฅํ๋ ๋ชจ๋ธ์ ๊ณ์ธต์ ์ด๊ณ ๊ณ ์์ค api๋ก ๊ฐ๋จํ๋ค. ํ์ด์ฌ์ผ๋ก ๋ง๋ค์ด์ง ๋ชจ๋ธ์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ด๋ tfjs-converter
๋ฅผ ์ฌ์ฉํ์ฌ ๋ณํํด์ผ ํ๋ค.
- SavedModel๋ก ๋ง์ฝ์ ์ ์ฅ์ ํ์๋ค๋ฉด, tensorflowjs์์๋ LoadGraphModel์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๋ถ๋ฌ์จ๋ค.
- Keras ๋ชจ๋ธ๋ก ๋ง์ฝ์ ์ ์ฅ์ ํ์๋ค๋ฉด, tensorflowjs์์๋ loadLayersModel์ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๋ถ๋ฌ์จ๋ค.
- Authors
- Name
- Amelia Young
- GitHub
- @ameliacode