교재 : 백견불여일타 딥러닝 입문 with 텐서플로우 2.x, 로드북
import sys
sys.version
import tensorflow as tf
tf.__version__
a = tf.constant(2) # 텐서를 선언
print(a)
print(tf.rank(a)) # 해당 텐서의 랭크를 계산
b = tf.constant([1,2])
print(tf.rank(b))
import tensorflow as tf
tf.random.set_seed(777)
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import SGD, RMSprop
from keras.losses import mse
x=np.array([[0,0],[0,1],[1,0],[1,1]])
y=np.array([[0],[1],[1],[1]])
model = Sequential()
model.add(Dense(1,input_shape=(2,),activation='linear')) # Dense층에서 2개의 입력값으로 결과값 1개가 나옴
model.compile(optimizer=SGD(),
loss=mse,
metrics=['acc'])
model.fit(x,y,epochs=500) # epoch = 전체학습횟수
model.get_weights()
(0*0.49431458)+(0*0.37552658)+0.32719323
0.32719323
(0*0.49431458)+(1*0.37552658)+0.32719323
0.7027198100000001
(1*0.49431458)+(0*0.37552658)+0.32719323
0.82150781
(1*0.49431458)+(1*0.37552658)+0.32719323
1.19703439
x=np.array([[0,0],[0,1],[1,0],[1,1]])
y=np.array([[0],[0],[0],[1]])
model = Sequential()
model.add(Dense(1,input_shape=(2,),activation='linear')) #
model.compile(optimizer=SGD(),
loss=mse,
metrics=['acc'])
model.fit(x,y,epochs=500)
model.get_weights()
(0*0.41167912)+(0*0.48379776)-0.18801045
(0*0.41167912)+(1*0.48379776)-0.18801045
(1*0.41167912)+(0*0.48379776)-0.18801045
(1*0.41167912)+(1*0.48379776)-0.18801045
x=np.array([[0,0],[0,1],[1,0],[1,1]])
y=np.array([[1],[1],[1],[0]])
model = Sequential()
model.add(Dense(1,input_shape=(2,),activation='linear'))
model.compile(optimizer=SGD(),
loss=mse,
metrics=['acc'])
model.fit(x,y,epochs=500)
model.get_weights()
(0*-0.23936202)+(0*-0.36854893)+1.0174638
(0*-0.23936202)+(1*-0.36854893)+1.0174638
(1*-0.23936202)+(0*-0.36854893)+1.0174638
(1*-0.23936202)+(1*-0.36854893)+1.0174638
x=np.array([[0,0],[0,1],[1,0],[1,1]])
y=np.array([[0],[1],[1],[0]])
model = Sequential()
model.add(Dense(1,input_shape=(2,),activation='linear'))
model.compile(optimizer=SGD(),
loss=mse,
metrics=['acc'])
model.fit(x,y,epochs=500)
model.get_weights()
model = Sequential()
model.add(Dense(1,input_shape=(2,),activation='linear')) # Dense층에서 2개의 입력값으로 결과값 1개가 나옴
model.compile(optimizer=SGD(),
loss=mse,
metrics=['acc'])
model.fit(x,y,epochs=1000) # epoch = 전체학습횟수
x=np.array([[0,0],[0,1],[1,0],[1,1]])
y=np.array([[0],[1],[1],[0]])
model = Sequential()
model.add(Dense(32, input_shape=(2, ),activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer=RMSprop(),
loss=mse,
metrics=['acc'])
model.fit(x,y,epochs=500)
model.get_weights()
model.predict(x)