목록Python (138)
군침이 싹 도는 코딩
# save model.save('fashion_mnist_model') # load model2 = tf.keras.models.load_model('fashion_mnist_model') # 먼저 폴더 형태로 저장하는 법이다 텐서플로우의 save를 사용한다 저장은 구글 코랩에 되는것으로 코랩을 종료하면 사라진다 불러올때는 케라스/모델스/로드모델을 이용해서 저장한 폴더의 이름을 써주고 그것을 변수에 저장하면 된다 # save model.save('fashion_mnist_model.h5') # load model3 = tf.keras.models.load_model('fashion_mnist_model.h5') # save를 파일 1개로 저장하고싶을때에는 위와 동일하게 쓰지만 확장자명에 h5를 써준다 ..
model.fit(X_train,y_train,epochs=10,validation_data=(X_test, y_test)) >>> Epoch 1/10 1875/1875 [==============================] - 8s 4ms/step - loss: 0.5334 - accuracy: 0.8074 - val_loss: 0.4206 - val_accuracy: 0.8475 Epoch 2/10 1875/1875 [==============================] - 7s 4ms/step - loss: 0.4085 - accuracy: 0.8511 - val_loss: 0.4023 - val_accuracy: 0.8554 Epoch 3/10 1875/1875 [==============..
이미지를 인공지능 학습 시킬때 인풋쉐입으로 사용하기 위해서는 Flatten 이라는 라이브러리를 사용한다 사용법과 정의는 이 글 참고 : https://mugoori.tistory.com/132 Flatten 라이브러리 사용 이유 def build_model(): model = Sequential() model.add( Flatten()) model.add( Dense(128,'relu') ) model.add( Dense(64,'relu') ) model.add( Dense(10, 'softmax')) model.compile('adam','sparse_categorical_crossentropy',['accuracy']) return model # 위 코드는 mugoori.tistory.com X_tr..
# 인공지능 학습에서 에포크를 반복 할 수록 학습 데이터의 결과가 좋아진다 반대로 벨리데이션 데이터는 점점 로스가 커지는것을 볼 수 있다 학습한 데이터(Train Loss) 와 벨리데이션 데이터(Validation Loss) 가 멀어지는 현상을 overfitting 이라고 한다 # 위와 마찬가지로 정확도(accuracy) 또한 학습한 데이터와 벨리데이션 데이터간의 격차가 커진다 이를 해결하기 위해서는 callback class를 이용해 원하는 조건을 걸어서 멈추게하면 된다 class myCallback(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs=()) : if logs['val_accuracy'] > 0.88 : print('\n내..
y_test >>> array([9, 2, 1, ..., 8, 1, 5], dtype=uint8) y_pred >>> array([[2.20964534e-06, 1.08094355e-05, 9.79511606e-06, ..., 1.81616340e-02, 9.49416881e-06, 9.58712578e-01], [3.86873609e-04, 3.95946366e-11, 9.89674151e-01, ..., 2.52638402e-14, 2.08223998e-08, 1.40853149e-13], [4.37165903e-09, 9.99999940e-01, 7.74465492e-11, ..., 1.44372901e-15, 2.84200545e-11, 4.31300395e-13], ..., [3.20444873..
# 인공지능을 통해 6만장의 옷 이미지 데이터를 10가지의 아웃풋으로 분류해야 하는데 아웃풋 노드가 3개 이상일 경우 사용하는 엑티베이션 함수가 바로 소프트 맥스이다. def build_model(): model = Sequential() model.add( Flatten()) model.add( Dense(128,'relu') ) model.add( Dense(64,'relu') ) model.add( Dense(10, 'softmax')) model.compile('adam','sparse_categorical_crossentropy',['accuracy']) return model # 소프트 맥스의 사용법은 다음과 같다 마지막 아웃풋 레이어를 설정할때 댄스에 출력으로 나와야할 갯수만큼의 유닛을 써주..
def build_model(): model = Sequential() model.add( Flatten()) model.add( Dense(128,'relu') ) model.add( Dense(64,'relu') ) model.add( Dense(10, 'softmax')) model.compile('adam','sparse_categorical_crossentropy',['accuracy']) return model # 위 코드는 이미지를 받아서 처리하는 인공지능을 모델링 한 것이다 이 인공지능에서 Flatten 라이브러리를 사용하는 이유는 다음과 같다 이미지의 데이터는 0~255까지의 숫자로 되어있다 X_train.shape >>> (60000, 28, 28) # 해당 모델링에 들어갈 트레인 데이..
# 위 그래프를 보면 X 축의 에포크가 계속 반복되어도 어느지점에 도달하면 더이상 성능 향상이 이루어지지 않는것을 확인할 수 있다. 이 지점을 찾아 자동으로 멈춰주는 기능이 얼리스탑핑 라이브러리이다. early_stop = tf.keras.callbacks.EarlyStopping(monitor='val_loss',patience=10) # 사용 코드는 다음과 같다 텐서플로우/케라스/콜백/얼리스탑핑 파라미터는 모니터는 벨리데이션 로스로 페이션스는 설정값을 주면 그 값만큼의 에포크를 반복하는동안 성능 향상이 없으면 멈춘다는 파라미터이다. 이렇게 얼리스탑이라는 변수를 만들어준다 epoch_history = model.fit(X_train,y_train,epochs=100000,validation_split=..