-
import tensorflow.keras as krs import numpy as np model = krs.Sequential() model.add(krs.layers.Flatten(input_shape=(3,))) model.add(krs.layers.Dense(1, activation='linear')) otmz = krs.optimizers.SGD(lr=0.000001) model.compile(optimizer=otmz, loss='mse') model.summary() #dipt = np.array([0xff0000/0x1000, 0xffff00/0x1000]) dipt = np.array([[0xff, 0x00, 0x00], [0xff, 0xff, 0x00]]) #사과, 바나나 danswer = np.array([1,2]) #사과, 바나나 print("NpArray: " + str(dipt) ) history = model.fit(dipt, danswer, epochs=3000, verbose=not True) rst = model.predict(dipt) print(rst) #결과 #[[1.0000017] # [1.9999992]]
'nan'값 현상
가중치를 가하여 계산된 결과가 변수 값 범위를 넘어서기에 발생하는 것으로 보임.
입력값에 0xff0000같은 큰 수치를 넣으면 발생, 0x3ff0을 넣어도 쉽게 발생.
learningrate에 수치가 클 경우 발생.
DataSet정답
dataset에 정답 목록을 인접한 것 끼리 순차적으로 할당할 필요.
연속되는 값으로 예상하기에 접답과 유사성이 멀어지면 인접한 수치의 정답을 예상한다.
특히 Linear으로 예상할 경우 입력과 결과의 값의 짝이 값 크기순으로 정렬이 안 된 DataSet인 경우 정상적인 결과를 기대하기 어렵다(Ex 0=>1, 1=>255, 2=>0).기타
값이나 구조가 단순해 [0x00, 0xff, 0x00]의 결과도 사과로 예상한다.
x 'Ai' 카테고리의 다른 글
Viola jones detector (haar-like feature) 2001 (0) 2023.04.16 Keras loss (0) 2023.04.08 Keras metric (0) 2023.04.08 Keras Layer (0) 2021.04.04 전이학습 (0) 2021.04.04 인공신경망 (Artificial NeuralNetwork) (0) 2021.04.04 Python Keras 흐름 (0) 2021.04.03 Python Keras 간단 예제 (0) 2021.04.03