mirror of
https://github.com/jung-geun/PSO.git
synced 2025-12-19 20:44:39 +09:00
23-06-03
tensorflow gpu 의 메모리 용량 제한을 추가 readme에 분류 문제별 해결 현황 추가
This commit is contained in:
59
xor.py
Normal file
59
xor.py
Normal file
@@ -0,0 +1,59 @@
|
||||
# %%
|
||||
import os
|
||||
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
|
||||
|
||||
import tensorflow as tf
|
||||
tf.random.set_seed(777) # for reproducibility
|
||||
|
||||
# from pso_tf import PSO
|
||||
from pso import Optimizer
|
||||
from tensorflow import keras
|
||||
|
||||
import numpy as np
|
||||
|
||||
from tensorflow import keras
|
||||
from tensorflow.keras.models import Sequential
|
||||
from tensorflow.keras import layers
|
||||
|
||||
from datetime import datetime
|
||||
|
||||
print(tf.__version__)
|
||||
print(tf.config.list_physical_devices())
|
||||
|
||||
def get_data():
|
||||
x = np.array([[0, 0], [0, 1], [1, 0], [1, 1]])
|
||||
y = np.array([[0], [1], [1], [0]])
|
||||
return x, y
|
||||
|
||||
def make_model():
|
||||
leyer = []
|
||||
leyer.append(layers.Dense(2, activation='sigmoid', input_shape=(2,)))
|
||||
# leyer.append(layers.Dense(2, activation='sigmoid'))
|
||||
leyer.append(layers.Dense(1, activation='sigmoid'))
|
||||
|
||||
model = Sequential(leyer)
|
||||
|
||||
return model
|
||||
|
||||
# %%
|
||||
model = make_model()
|
||||
x_test, y_test = get_data()
|
||||
# loss = 'binary_crossentropy'
|
||||
# loss = 'categorical_crossentropy'
|
||||
# loss = 'sparse_categorical_crossentropy'
|
||||
# loss = 'kullback_leibler_divergence'
|
||||
# loss = 'poisson'
|
||||
# loss = 'cosine_similarity'
|
||||
# loss = 'log_cosh'
|
||||
# loss = 'huber_loss'
|
||||
# loss = 'mean_absolute_error'
|
||||
# loss = 'mean_absolute_percentage_error'
|
||||
loss = 'mean_squared_error'
|
||||
|
||||
pso_xor = Optimizer(model,
|
||||
loss=loss, n_particles=75, c0=0.35, c1=0.8, w_min=0.6, w_max=1.2, negative_swarm=0.25)
|
||||
best_score = pso_xor.fit(
|
||||
x_test, y_test, epochs=200, save=True, save_path="./result/xor", renewal="acc", empirical_balance=False, Dispersion=False, check_point=25)
|
||||
|
||||
# %%
|
||||
|
||||
Reference in New Issue
Block a user