def load_trained_model(): net = MultiLayerNet() net.load_model("dog_cat_f.npz") print(net.params.keys()) return for k, v in net.params.items(): print(k, v.shape) for i in range(5): img_idx = random.randrange(0, 1000) transposed_array = np.transpose(x_test[img_idx], (1, 2, 0)) plt.imshow(transposed_array, cmap='gray') plt.show() predict_num = np.argmax(net.predict(np.array([x_test[img_idx]]), train_flg=False), axis=1)[0] print(net.predict(np.array([x_test[img_idx]]))) correct_num = t_test[img_idx] print(f"Predict : {predict_num}, Correct : {correct_num}") # load_trained_model()
def show_img_predict(): net = MultiLayerNet() net.load_model("dog_cat_f.npz") print(net.layers) print(net.params) base_dir = 'C:\\Users\\User\\deep-learning-without-tensorflow\\src\\jjy\\jjy\\dataset\\dog_cat' test_dir = os.path.join(base_dir, 'test_set\\test_set') # 테스트에 사용되는 고양이/개 이미지 경로 test_cats_dir = os.path.join(test_dir, 'cats') test_dogs_dir = os.path.join(test_dir, 'dogs') print(test_cats_dir) print(test_dogs_dir) print('Total validation cat images :', len(os.listdir(test_cats_dir))) print('Total validation dog images :', len(os.listdir(test_dogs_dir))) test_cat_fnames = os.listdir(test_cats_dir) test_dog_fnames = os.listdir(test_dogs_dir) def img_to_array(fname, original=False): image = Image.open(fname) if original is False: image = image.resize((64, 64)) image = np.reshape(image.convert("L"), (1, 64, 64)) # show_img_by_array(np.asarray(image)) return np.asarray(image) random.shuffle(test_cat_fnames) random.shuffle(test_dog_fnames) img_list = [] predict_list = [] for fname in test_dog_fnames[:15]: fname = os.path.join(test_dogs_dir, fname) img_original_array = img_to_array(fname, original=True) img_array = img_to_array(fname) img_array = img_array / 255.0 img_list.append(img_original_array) predict_num = np.argmax(net.predict(np.array([img_array]), train_flg=False), axis=1)[0] print(net.predict(np.array([img_array]), train_flg=False)) # print(predict_num) predict_list.append("CAT!" if predict_num == 0 else "DOG!") plot_grid(img_list, predict_list, 3, 5) plt.show()
from jjy.framework.network import MultiLayerNet import random from jjy.dataset.mnist import load_mnist import numpy as np import matplotlib.pyplot as plt (x_train, t_train), (x_test, t_test) = load_mnist(flatten=False) net = MultiLayerNet() net.load_model("train_weight_2021-04-17 135013.npz") for i in range(5): img_idx = random.randrange(0, 10000) plt.imshow(x_test[img_idx].reshape(28, 28), cmap='gray') plt.show() predict_num = np.argmax(net.predict(np.array([x_test[img_idx]]), train_flg=False), axis=1)[0] correct_num = t_test[img_idx] print(f"Predict : {predict_num}, Correct : {correct_num}")
x = np.random.rand(300, 2) * 3 y = np.dot(x, np.array([2, 1])) + 3 # y = y + (4 * np.random.random_sample((1,y.shape[0])) - 2).flatten() t = np.reshape(y, (y.shape[0], 1)) # print(x) return x, t x_data, t_data = make_sample_data_set_regression3() print(x_data[:3]) print(t_data[:3]) net = MultiLayerNet() net.add_layer(Layer.Dense(1, input_size=2, activation=Layer.IdentityWithLoss())) # net.add_layer(Layer.Dense(5, input_size = 2, activation=Layer.Relu() )) # net.add_layer(Layer.Dense(1)) x_train, t_train, x_test, t_test = shuffle_split_data(x_data, t_data, 0.2) print(net.params) # scaler = Scaler.StandardScaler() # x_train = scaler.fit_transform(x_train) # x_test = scaler.transform(x_test) result = net.train(x_train, t_train,
def main(): (x_train, t_train), (x_test, t_test) = load_mnist(flatten=False) print(x_train.shape, t_train.shape) print(t_train[0]) net = MultiLayerNet(is_use_dropout=False) net.add_layer(Layer.Conv2D(16, (3, 3), pad=1, input_size=(1, 28, 28)), initializer=Initializer.He(), activation=Layer.Relu()) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Pooling(pool_h=2, pool_w=2, stride=2)) net.add_layer(Layer.Conv2D(16, (3, 3), pad=1, initializer=Initializer.He())) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Pooling(pool_h=2, pool_w=2, stride=2)) net.add_layer(Layer.Dense(20, initializer=Initializer.He(), activation=Layer.Relu())) net.add_layer(Layer.Dropout(0.5)) net.add_layer(Layer.Dense(10)) net.add_layer(Layer.Dropout(0.5)) net.add_layer(Layer.SoftmaxWithLoss()) if gpu_enable: net.to_gpu() for k, v in net.params.items(): print(k, v.shape) result = net.train( x_train, t_train, x_test, t_test, batch_size=200, iters_num=100, print_epoch=1, evaluate_limit=500, is_use_progress_bar=True, optimizer=Optimizer.Adam(lr=0.001)) import pickle import datetime ## Save pickle with open(f"train_data_{str(datetime.datetime.now())[:-7].replace(':', '')}.pickle", "wb") as fw: pickle.dump(result, fw) # net.save_model() print("============================================")
await manager.connect(websocket, client_id) while True: try: data = await websocket.receive_text() except: await manager.disconnect(client_id) return await manager.broadcast(f"Client {client_id}: {data}") app.mount("/static", StaticFiles(directory="static"), name="static") templates = Jinja2Templates(directory="templates") model_url = "./model/idol_train_weight_2021-06-06 090301_8907_np.npz" net = MultiLayerNet() net.load_model("./model/idol_train_weight_2021-06-06 090301_8907_np.npz") idol_list = ["아이유", "아이린", "아린"] eng_idol_list = ["iu", "irene", "arin"] is_local = False if socket.gethostname()[:4] == "DESK": is_local = True def id_generator(size=6, chars=string.ascii_uppercase + string.digits + string.ascii_lowercase): return ''.join(random.choice(chars) for _ in range(size))
y = np.dot(x, np.array([3, -2])) + 7 # y = y + (4 * np.random.random_sample((1,y.shape[0])) - 2).flatten() t = np.reshape(y, (y.shape[0], 1)) return x, t (x_train, t_train), (x_test, t_test) = load_mnist(normalize=True, one_hot_label=True) print(x_train.shape, t_train.shape, x_test.shape, t_test.shape) x_data = np.append(x_train, x_test, axis=0) t_data = np.append(t_train, t_test, axis=0) net = MultiLayerNet(is_use_dropout=True, dropout_ratio=0.2) net.add_layer(Layer.Dense(30, input_size=784, initializer=Initializer.He())) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Dense(64), initializer=Initializer.He()) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Dense(64), initializer=Initializer.He()) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Dense(64), initializer=Initializer.He()) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Dense(64), initializer=Initializer.He()) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu())
def make_net2(): net = MultiLayerNet(is_use_dropout=False) net.add_layer(Layer.Conv2D(32, (3, 3), pad=1, input_size=(1, 64, 64)), initializer=Initializer.He(), activation=Layer.Relu()) net.add_layer(Layer.Pooling(pool_h=2, pool_w=2, stride=2)) net.add_layer( Layer.Dense(128, initializer=Initializer.He(), activation=Layer.Relu())) net.add_layer(Layer.Dense(2, initializer=Initializer.He())) net.add_layer(Layer.SoftmaxWithLoss()) return net
def make_net1(): net = MultiLayerNet(is_use_dropout=False) net.add_layer(Layer.Conv2D(32, (3, 3), pad=1, input_size=(1, 128, 128)), initializer=Initializer.He()) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Pooling(pool_h=2, pool_w=2, stride=2)) # net.add_layer(Layer.Conv2D(64, (3, 3), pad=1, initializer=Initializer.He())) # net.add_layer(Layer.BatchNormalization()) # net.add_layer(Layer.Relu()) # net.add_layer(Layer.Pooling(pool_h=2, pool_w=2, stride=2)) net.add_layer(Layer.Conv2D(32, (3, 3), pad=1, initializer=Initializer.He())) net.add_layer(Layer.BatchNormalization()) net.add_layer(Layer.Relu()) net.add_layer(Layer.Pooling(pool_h=2, pool_w=2, stride=2)) net.add_layer( Layer.Dense(30, initializer=Initializer.He(), activation=Layer.Relu())) net.add_layer(Layer.Dropout(0.5)) net.add_layer(Layer.Dense(3)) net.add_layer(Layer.Dropout(0.5)) net.add_layer(Layer.SoftmaxWithLoss()) return net