Python keras.metrics没有属性';公制';

Python keras.metrics没有属性';公制';,python,tensorflow,keras,Python,Tensorflow,Keras,我尝试使用Keras调谐器进行超参数优化: import keras from kerastuner import HyperModel from kerastuner.tuners import Hyperband input_shape = (1, 28, 28) num_classes = 10 # Define hypermodel class class CNNHyperModel(HyperModel): def __init__(self, input_shape, n

我尝试使用Keras调谐器进行超参数优化:

import keras
from kerastuner import HyperModel
from kerastuner.tuners import Hyperband

input_shape = (1, 28, 28)
num_classes = 10

# Define hypermodel class
class CNNHyperModel(HyperModel):
    def __init__(self, input_shape, num_classes):
        self.input_shape = input_shape
        self.num_classes = num_classes

    def build(self, hp):
        model = Sequential()
        model.add(Conv2D(32, kernel_size=(3, 3), activation="relu", input_shape=input_shape))
        model.add(Conv2D(64, (3, 3), activation="relu"))
        model.add(MaxPooling2D(pool_size=(2, 2)))
        model.add(Dropout(0.25))
        model.add(Flatten())
        model.add(Dense(128, activation="relu"))
        model.add(Dropout(0.5))
        model.add(Dense(num_classes, activation="softmax"))

        model.compile(
            loss=keras.losses.categorical_crossentropy,
            optimizer=keras.optimizers.Adadelta(),
            metrics=["accuracy"],
        )

        return model

# Instantiate
hypermodel = CNNHyperModel(input_shape=input_shape, num_classes=num_classes)

# Create tuner
HYPERBAND_MAX_EPOCHS = 40
MAX_TRIALS = 20
EXECUTION_PER_TRIAL = 2
SEED = 1

tuner = RandomSearch(
    hypermodel,
    max_epochs=HYPERBAND_MAX_EPOCHS,
    objective='val_accuracy',
    seed=SEED,
    max_trials=MAX_TRIALS,
    executions_per_trial=EXECUTION_PER_TRIAL,
    directory='hyperband',
    project_name='mnist'
)
我明白了

AttributeError:模块“tensorflow.\u api.v1.keras.metrics”没有属性“Metric”

使用conda安装Tensorflow 1.13和2.0


按照中的建议包括tensorflow.python.keras.metrics导入度量值的
,不会改变任何内容。

从tensorflow.keras.metrics导入度量值的
执行此操作
会产生
导入错误:无法从“tensorflow.keras.metrics”导入名称“Metric”(/opt/miniconda3/lib/python3.7/site packages/tensorflow/_-api/v1/keras/metrics/_-init.py)
不幸的是,您使用的是v1,我想请您将TF更新到1.15.2并尝试一下。使用tensorflow.python.keras.metrics import Metric
中的
,我在TF 1.15.2和TF 2.2.0-rc2中没有遇到任何问题。我注意到我确实在使用TF 1.13。尽管我的虚拟环境中安装了TF 2.0,但当我打印TF版本时__上面写着1.13。我正在vscode的jupyter中编码,找不到解决方案。从tensorflow.keras.metrics导入Metric执行此操作,
会产生
ImportError:无法从“tensorflow.keras.metrics”导入名称“Metric”(/opt/miniconda3/lib/python3.7/site packages/tensorflow/\u api/v1/keras/metrics/\u init\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
不幸的是,您使用的是v1,我想请您将TF更新到1.15.2并尝试一下。使用tensorflow.python.keras.metrics import Metric
中的
,我在TF 1.15.2和TF 2.2.0-rc2中没有遇到任何问题。我注意到我确实在使用TF 1.13。尽管我的虚拟环境中安装了TF 2.0,但当我打印TF版本时__上面写着1.13。我正在用vscode编写jupyter代码,找不到解决方案。