为什么无法从目录导入?

时间:2019-02-25 22:31:46

标签: python

我的目录结构如下:

enter image description here

在我的main.py中,我有:

from lib.dataset.cifar import load_cifar_10

我的lib/data/cifar.py有:

from keras.utils import to_categorical
from keras.datasets import cifar10


def load_cifar_10():
    num_classes = 10

    (x_train, y_train), (x_test, y_test) = cifar10.load_data()
    x_train = x_train.astype('float32')
    x_test = x_test.astype('float32')
    x_train /= 255
    x_test /= 255

    # Convert class vectors to binary class matrices.
    y_train = to_categorical(y_train, num_classes)
    y_test = to_categorical(y_test, num_classes)

    ret_val = {
        "x_train": x_train,
        "x_test": x_test,
        "y_train": y_train,
        "y_test": y_test,
        "num_classes": num_classes
    }

    return ret_val

但是我得到的错误是:

    dataset = cifar.load_cifar_10()
NameError: name 'cifar' is not defined

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您使用的import语句:

from lib.dataset.cifar import load_cifar_10

仅导入名称为load_cifar_10的一个函数。整个模块的名称cifar不会被导入。

但是,通过此导入,您可以直接直接访问load_cifar_10-从而无需使用“点符号”。