我的目录结构如下:
在我的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
我做错了什么?
答案 0 :(得分:1)
您使用的import
语句:
from lib.dataset.cifar import load_cifar_10
仅导入名称为load_cifar_10
的一个函数。整个模块的名称cifar
不会被导入。
但是,通过此导入,您可以直接直接访问load_cifar_10
-从而无需使用“点符号”。