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()
示例#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()
示例#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}")
示例#4
0
    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))