wandb 로그인
commend
해당 링크 가서 API Key 복사 후 login 뒤에 붙여넣기
!pip install wandb
!wandb login 8358070664bd0a8b09d913781729fb0b799d4ce2
import wandb
from wandb.keras import WandbCallback
# group, project 변수를 설정합니다. 반복되는 이름이 많기 때문에 변수로 설정하여 사용하면 편리합니다.
wandb_project = 'test'
wandb_group = 'kyungryeol'
# wandb.init(project=wandb_project) ## 내가 만든 프로젝트 이름을 넣어주어야 합니다.
wandb.init(project=wandb_project, entity=wandb_group)
import numpy
import pandas as pd
from tensorflow import keras
from tensorflow.python import keras
from tensorflow.keras.layers import Dense
from sklearn.model_selection import GridSearchCV
# 데이터 및 하이퍼파라미터 설정
X = x_train
y = y_train
inputs = X.shape[1]
wandb.config.epochs = 50
wandb.config.batch_size = 10
# 모델을 구축합니다
model = Sequential()
model.add(Dense(64, activation='relu', input_shape=(inputs,)))
model.add(Dense(64, activation='relu'))
model.add(Dense(64, activation='relu'))
model.add(Dense(1))
# 모델을 컴파일 합니다
model.compile(optimizer='adam', loss='mse', metrics=['mse', 'mae'])
# 모델을 학습합니다
model.fit(X, y,
validation_split=0.3,
epochs=wandb.config.epochs,
batch_size=wandb.config.batch_size,
callbacks=[WandbCallback()]
)
wandb.init(project=wandb_project) ## 내가 만든 프로젝트 이름을 넣어주어야 합니다.
# 데이터 및 하이퍼파라미터 설정
from tensorflow.keras import datasets
from tensorflow.keras.layers import Dense, Conv2D, MaxPooling2D, Flatten
(train_images, train_labels), (test_images, test_labels) = datasets.cifar10.load_data()
# Normalize pixel values to be between 0 and 1
train_images, test_images = train_images / 255.0, test_images / 255.0
wandb.config.epochs = 10
wandb.config.batch_size = 64
# 모델을 구축합니다
model = Sequential() ## 과제시에는 이 모델을 Tre-trained model로 대체하면 됩니다.
model.add(Conv2D(32, (3,3), activation='relu', input_shape=(32,32,3)))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64, (3,3), activation='relu'))
model.add(MaxPooling2D((2,2)))
model.add(Conv2D(64, (3,3), activation='relu'))
model.add(Flatten())
model.add(Dense(64, activation='relu'))
model.add(Dense(10, activation='softmax'))
model.summary()
# 모델학습방식을 정의함
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 모델 학습시키기
model.fit(train_images, train_labels,
validation_data=(test_images, test_labels),
epochs=wandb.config.epochs,
batch_size=wandb.config.batch_size,
callbacks=[WandbCallback()]
)
성능이 마음에 안든다면 추가로 학습을 더 시키는 방법도 있음.
wandb.config.epochs = 20
wandb.config.batch_size = 512
model.fit(train_images, train_labels,
validation_data=(test_images, test_labels),
epochs=wandb.config.epochs,
batch_size=wandb.config.batch_size,
callbacks=[WandbCallback()]
)
!ls wandb/