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()
Exemple #2
0
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()
Exemple #3
0
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("============================================")
Exemple #6
0
    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