waffle
์™€ํ”Œ๊ณต์žฅ
waffle
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (72)
    • ๐Ÿ“’ Daily Log (2)
    • ๐Ÿ”จ Dev_BE (5)
      • ๊ฐœ๋…์ •๋ฆฌ (4)
      • ๊ธฐ๋ก (1)
    • ๐Ÿ”จ Dev_FE (4)
    • ๐Ÿ”จ Dev_DB (1)
    • โš™ Dev_Ops (0)
    • ๐Ÿ”ก Lang (2)
      • Python (2)
    • ๐Ÿ’ก ํ”„๋กœ์ ํŠธ (9)
      • Base (1)
      • ์•„๋Œ€๋ฐ€๋งต (8)
    • ๐Ÿƒ๐Ÿป ์™ธ๋ถ€ํ™œ๋™ (2)
      • [ํ”„๋ฆฌ์ฝ”์Šค] ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค 7๊ธฐ - BE (2)
    • ๐Ÿ“• [STUDY] ๊ฐœ๋ฐœ (13)
      • [STUDY] ์•Œ๊ณ ๋ฆฌ์ฆ˜ (9)
      • ๋™๊ณ„ ์Šคํ„ฐ๋”” [Do-iT: ์›นํŒฉ] (2021) (4)
    • ๐Ÿ“™ [STUDY] AI (2)
      • Tensorflow (2)
    • ๐Ÿ” ๋ณด์•ˆ,์ •๋ณด๋ณดํ˜ธ (32)
      • CTF (2)
      • ๐Ÿ“˜ [STUDY] ํฌ๋ Œ์‹ (15)
      • ๐Ÿ“˜ [STUDY] ์ทจ์•ฝ์  (4)
      • ๐Ÿ“˜ [STYDY] ๋ฆฌ๋ฒ„์‹ฑ (11)
    • ๐Ÿ“” IT ๋ฒ•๋ฅ  (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ž๋ฃŒ๊ตฌ์กฐ
  • til
  • gdb
  • dopwn
  • javascript
  • ๋ฐฑ์ค€
  • ๋ฌธ์ž์—ด
  • ๋ฐ์ผ๋ฆฌ์•Œ๊ณ 
  • API
  • ์•„์ฃผ๋Œ€_์•Œ๊ณ ๋ฆฌ์ฆ˜_๊ต์œก
  • ์šฐํ…Œ์ฝ”
  • ์šฐํ…Œ์ฝ”_7๊ธฐ
  • write-up
  • ๊ฐœ๋ฐœ
  • ์—ฐ์Šต_์ž๋ฃŒ๊ตฌ์กฐ
  • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
  • Weekly
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ_๊ณ ๋“์ 
  • ํ”„๋ฆฌ์ฝ”์Šค
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์ˆ˜ํ•™_1(์—ฐ์Šต)
  • ๊ฐœ๋ฐœ๋ฐฑ์„œ
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • sql
  • js
  • Java
  • reversing
  • JAVA_API
  • ์ˆ˜ํ•™_1
  • scrum

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
waffle

์™€ํ”Œ๊ณต์žฅ

๐Ÿ“™ [STUDY] AI/Tensorflow

Tensorflow - CNN D1: ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ

2021. 6. 29. 15:09
728x90

# reference: online.codingapple.com

 

์ฝ”๋”ฉ์• ํ”Œ ์˜จ๋ผ์ธ ๊ฐ•์ขŒ – ๊ฐœ๋ฐœ์ž๋„ ๋‹จ๊ธฐ์™„์„ฑ!

์ˆ˜๊ณ  ๋งŽ์œผ์…จ์Šต๋‹ˆ๋‹ค! ์„ ์ƒ๋‹˜ ์ˆ˜๊ณ  ๋งŽ์œผ์…จ์Šต๋‹ˆ๋‹ค! ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•ต์‹ฌ๋งŒ ์™์™ ์•Œ๋ ค์ฃผ์‹œ๊ณ  ์‹ค๋ฌด์—๋„ ๋„์›€์ด ๋งŽ์ด๋  ๊ฒƒ ๊ฐ™์•„์„œ ๋“ฃ๊ธธ ์ •๋ง ์ž˜ํ–ˆ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ญ๋‹ˆ๋‹ค! ๋งจ๋‚  ์ฑ…๋งŒ (์•ž๋ถ€๋ถ„๋งŒ..) ์—ด์‹ฌํžˆ ๋ดค

online.codingapple.com

 

CNN์˜ ํ™œ์šฉ: ์†๊ธ€์”จ ์ธ์‹ / ์‚ฌ๋ฌผ์ธ์‹ / ์ž์œจ์ฃผํ–‰ ๊ธฐ์ดˆ์ •๋ณด ์ˆ˜์ง‘ ๋“ฑ

 

 


 

* ๊ธฐ์ดˆ ๊ฐœ๋… ๋ณต๊ธฐ

 

๋ชจ๋ธ > ๋ ˆ์ด์–ด > ๋…ธ๋“œ

 

ํ…์„œ: ๋ฐ์ดํ„ฐ, ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ ์ž๋ฃŒํ˜• ์ž์ฒด

 

๋ชจ๋ธ: ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ๋‹ด์€ ๊ฒƒ(?). ๋ ˆ์ด์–ด๋“ค๋กœ ์ด๋ฃจ์–ด์ง

 

๋ ˆ์ด์–ด: ๋…ธ๋“œ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌ๋˜๋Š” ํ•˜๋‚˜์˜ ๊ณ„์ธต.

 

์ปค๋„: ์ด๋ฏธ์ง€์—์„œ ํŠน์ง•์„ ๊ฐ์ง€ํ•˜๋Š” ํ•„ํ„ฐ์—ญํ• . ํ•˜๋‚˜์˜ ์ปค๋„์€ ํ•˜๋‚˜์˜ ํŠน์ง•๋งŒ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Œ.

 


 

1. ๋ฐ์ดํ„ฐ์…‹ ๋กœ๋“œ

 

CNN์€ ๋Œ€๋ถ€๋ถ„ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€ ๋กœ๋“œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€๋ฅผ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€ํ‘œ์ ์ธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์€ pillow, matplot, opencv ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

1-1) PIL (Pillow)

 

from PIL import Image

image = Image.open("ROUTE")

+) PIL์€ ์ด๋ฏธ์ง€ ์ž์ฒด๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋ฏ€๋กœ ์ด๋ฏธ์ง€๋ฅผ rgb ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

 

import numpy as np

ar = np.array(image)

 

> Preview

 

image.show()

 

 

 

 

1-2) Matplotlib

 

import matplotlib.pyplot as plt

image = plt.imread("ROUTE")

 

+) Matplotlib๋Š” ์ด๋ฏธ์ง€๋ฅผ rgb๊ฐ’ ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋ถˆ๋Ÿฌ์˜ค๋ฏ€๋กœ ์ด๋ฏธ์ง€๋ฅผ rgb ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”์—†์Šต๋‹ˆ๋‹ค.

 

 

> Preview

 

plt.imshow(image)
plt.show()

 

 

 

1-3) Opencv

 

import cv2

image = cv2.imread("ROUTE")

 

> Preview

 

cv2.imshow('image', image)
cv2.waitKey()

 

+) cv2์˜ ๊ฒฝ์šฐ RGB ์ˆœ์„œ๋กœ ์ฝ๋Š” ๊ฒƒ์ด ์•„๋‹Œ BGR ์ˆœ์„œ๋กœ ํ‘œ์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฃผ์˜ํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

2. ๋ชจ๋ธ ๋งŒ๋“ค๊ธฐ

 

๋ชจ๋ธ์€ tf.keras.Sequential ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

model = tf.keras.Sequential([...])

 

 

๋ชจ๋ธ ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด๋ฅผ ์„ ์–ธํ•  ๋•Œ ๋„ฃ๊ฑฐ๋‚˜, ๋นˆ ๋ชจ๋ธ์„ ๋งŒ๋“ค๊ณ  model.add๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํฌ์ŠคํŠธ์—์„œ๋Š” ์ „์ž์˜ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌ์ŠคํŒ…ํ•ฉ๋‹ˆ๋‹ค.

 

3. ๋ ˆ์ด์–ด ๋งŒ๋“ค๊ธฐ

 

๋ ˆ์ด์–ด์˜ ์ข…๋ฅ˜๋Š” ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค.

 

 

3-1) ์ด๋ฏธ์ง€ ํŠน์ง• ์ถ”์ถœ ๋ ˆ์ด์–ด (= Convolutional Layer)

 

์ปดํ“จํ„ฐ๋Š” ๋ฐฐ์—ดํ˜•์‹์„ ํ†ตํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ฝ๊ณ  ํ™œ์˜ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ์ถœ๋ ฅํ˜•์‹์œผ๋กœ ์„ค์ •ํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ์— ๋งž๊ฒŒ ์šฑ์—ฌ๋„ฃ๋‹ค๋ณด๋‹ˆ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์‚ด๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด ํŠน์ง•์„ ์‚ด๋ ค ์ฝ์–ด๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์–ด๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ์ด ๋ ˆ์ด์–ด๊ฐ€ Convolutional Layer์ž…๋‹ˆ๋‹ค.

 

Convolutional Layer์—์„œ ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋Š” ๋…€์„์„ Kernel์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ์ด๋ฏธ์ง€์—์„œ ์–ด๋–ค ๋ถ€๋ถ„์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€๋ฅผ ํŒ๋‹จํ•˜๋Š” ๊ธฐ์ค€์„ ๋‹ด๊ณ  ์žˆ๋Š”๋ฐ, ๊ธฐ์กด ์ด๋ฏธ์ง€์˜ rgb๊ฐ’์— Kernel์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ค‘์š”๋„์— ๋Œ€ํ•œ ๊ฐ’์„ ๊ณฑํ•ด ๋ชจ๋‘ ๋”ํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ’์˜ ํ•œ ์นธ์œผ๋กœ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Kernel์€ ํ•œ๊ฐœ์˜ ํŠน์ง•๋งŒ์„ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. n๊ฐœ์˜ ํŠน์ง•์„ ์ถ”์ถœํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด n๊ฐœ์˜ kernel์„ ์ ์šฉํ•˜๋„๋ก ๋ช…๋ นํ•ด์•ผ๊ฒ ์ฃ ? :)

 

> ์ •๋ฆฌ: Convolutional Layer๋ž€ ์ผ์ • ํฌ๊ธฐ์˜ ํ•„ํ„ฐ (=Kernel)๋ฅผ ์˜†์œผ๋กœ ํ•œ์นธ์”ฉ ๋ฐ€๋ฉด์„œ (=Striding) ์ด๋ฏธ์ง€์˜ ํŠน์ง•์„ ์ถ”์ถœํ•ด๋‚ด๋Š” ๋ ˆ์ด์–ด์ž…๋‹ˆ๋‹ค.

 

tf.keras.Layer.Conv2D(n, (x, y), padding="[paddingOption]", activation="[activationFunction]", input_shape=([inpshape]))

 

Tensorflow์—์„œ Convolutional Layer๋Š” ์ด์™€ ๊ฐ™์ด ๋งŒ๋“ญ๋‹ˆ๋‹ค.

n๊ฐœ์˜ kernel์„ x,y ์‚ฌ์ด์ฆˆ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. kernel์€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

padding์˜ ๊ฐ’์€ VALID or SAME์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ๊ฐ ํ…Œ๋‘๋ฆฌ์„ ๋นˆ ์˜์—ญ์œผ๋กœ ์ฑ„์›Œ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ๊ธฐ์กด ํฌ๊ธฐ์™€ ๋งž์ถœ์ง€ ๋ง์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

 

activation์—๋Š” ํ™œ์„ฑํ•จ์ˆ˜์˜ ์ด๋ฆ„์ด ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค. ํ•„์š”์— ๋”ฐ๋ผ ์•Œ๋งž๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

input_shape๋Š” ์ด ๊ณ„์ธต์— ์ž…๋ ฅ๋˜๋Š” ์ด๋ฏธ์ง€ ํ˜•ํƒœ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ ๋ ˆ์ด์–ด์— Convolutional Layer๊ฐ€ ์˜ฌ ๊ฒฝ์šฐ ์ด ๊ฐ’์€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค. ์ฒซ๋ฒˆ์งธ ๋ ˆ์ด์–ด๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ์ด ๊ฐ’์€ ๊ถŒ์žฅ๋˜๋Š”๋ฐ, ์ด ๋ ˆ์ด์–ด์—๋Š” ๋ฌด์กฐ๊ฑด 4์ฐจ์› ๋ ˆ์ด์–ด๊ฐ€ ๋“ค์–ด๊ฐ€์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ณดํ†ต ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” (์ด๋ฏธ์ง€ ๊ฐœ์ˆ˜, ๊ฐ€๋กœ, ์„ธ๋กœ)๋กœ 3์ฐจ์› ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ, ํ‘๋ฐฑ ์ฒ˜๋ฆฌ์‹œ์—๋Š” ๋งˆ์ง€๋ง‰์— 1, ์ปฌ๋Ÿฌ ์ฒ˜๋ฆฌ์‹œ์—๋Š” ๋งˆ์ง€๋ง‰์— 3์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์ฐจ์›์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋Š˜๋ ค์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ •ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค:

 

input_shape = (์ด๋ฏธ์ง€ ๊ฐ€๋กœํฌ๊ธฐ, ์ด๋ฏธ์ง€ ์„ธ๋กœ ํฌ๊ธฐ, 1)
# or
input_shape = (์ด๋ฏธ์ง€ ๊ฐ€๋กœํฌ๊ธฐ, ์ด๋ฏธ์ง€ ์„ธ๋กœ ํฌ๊ธฐ, 3)

 

 

3-2) ํ’€๋ง ๋ ˆ์ด์–ด (= Pooling Layer)

Convolutional Layer์—์„œ๋Š” ์•ž์„œ ๋งํ–ˆ๋“ฏ ํŠน์ง•์„ ์ถ”์ถœํ•˜๋ฏ€๋กœ ๋ฐ์ดํ„ฐ์˜ ์–‘์ด ํ™•์‹คํžˆ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ๋ฆ„์ƒ์˜ ์—ฐ์‚ฐ๋Ÿ‰์ด ๋Š˜์–ด๋‚˜๊ฒŒ ๋˜๊ณ , ์ด์— ๋”ฐ๋ผ Overfitting(๊ณผ์ ํ•ฉ, ํ•™์Šต๋ฐ์ดํ„ฐ๋งŒ ์ •๋‹ต๋ฅ ์ด ๋†’๊ณ  ์‹ค์ œ ์ ์šฉ์‹œ์—๋Š” ์ •๋‹ต๋ฅ ์ด ๋‚ฎ์€ ํ˜„์ƒ) ๊ฐ€๋Šฅ์„ฑ์ด ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค.

 

์˜ˆ์‹œ๋ฅผ ๋“ค์ž๋ฉด, ํ•ธ๋“œํฐ ์ด๋ฏธ์ง€๋ฅผ Convolutional Layer๋ฅผ ํ†ตํ•ด ํ•™์Šต์‹œ์ผฐ๋‹ค ํ•˜๋”๋ผ๋„, ํ•ธ๋“œํฐ์˜ ์œ„์น˜๊ฐ€ ์กฐ๊ธˆ์ด๋ผ๋„ ๋ฐ”๋€๋‹ค๋ฉด ์ธ์‹๋ฅ ์ด ํฌ๊ฒŒ ๋–จ์–ด์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ์—ฐ์‚ฐ๋Ÿ‰์„ ์ค„์ด๊ณ  ํŠน์ง•์„ ์ •ํ™•ํžˆ ํŒŒ์•…ํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ๋ ˆ์ด์–ด๊ฐ€ ํ•„์š”ํ•œ๋ฐ, ์ด๋Ÿฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ ˆ์ด์–ด๋ฅผ Pooling Layer๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ํŠน์ • ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ ๊ฐ€์šด๋ฐ๋กœ ๋ชจ์•„๋ฒ„๋ฆฌ๋Š” ๊ฒƒ์ด์ฃ (=Down Sampling).

 

๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” Max Pooling Layer์—์„œ๋Š” ๊ฐ€์žฅ ๊ฐ•ํ•œ ํŠน์ง•๋งŒ ๋ฝ‘์•„๋ƒ…๋‹ˆ๋‹ค.

 

 

 

tf.keras.Layer.MaxPooling2D( (x, y) )

Tensorflow์—์„œ Max Pooling Layer๋Š” ์ด์™€ ๊ฐ™์ด ๋งŒ๋“ญ๋‹ˆ๋‹ค.

x,y ์‚ฌ์ด์ฆˆ๋กœ down sampling ํ•˜๋ผ๋Š” ๋ง์ž…๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

'๐Ÿ“™ [STUDY] AI > Tensorflow' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Tensorflow - D0: ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ดˆ์ •๋ฆฌ  (0) 2021.04.24
    '๐Ÿ“™ [STUDY] AI/Tensorflow' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • Tensorflow - D0: ๋จธ์‹ ๋Ÿฌ๋‹ ๊ธฐ์ดˆ์ •๋ฆฌ
    waffle
    waffle
    ๊ฐœ๋ฐœ๊ธฐ์ˆ  ๊ด€๋ จ ๊ธ€๋“ค์€ velog์— ์žˆ์Šต๋‹ˆ๋‹ค :) (https://velog.io/@cm_waffle) Developer waffle = new Waffle();

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”