小编Enr*_*ndo的帖子

在自定义回调中访问验证数据

我正在安装train_generator,并通过自定义回调,我想在validation_generator上计算自定义指标.如何访问PARAMS validation_steps和validation_data 一个自定义的回调中?它不在self.params,也找不到它self.model.这就是我想做的事情.任何不同的方法都会受到欢迎.

model.fit_generator(generator=train_generator,
                    steps_per_epoch=steps_per_epoch,
                    epochs=epochs,
                    validation_data=validation_generator,
                    validation_steps=validation_steps,
                    callbacks=[CustomMetrics()])


class CustomMetrics(keras.callbacks.Callback):

    def on_epoch_end(self, batch, logs={}):        
        for i in validation_steps:
             # features, labels = next(validation_data)
             # compute custom metric: f(features, labels) 
        return
Run Code Online (Sandbox Code Playgroud)

keras:2.1.1

更新

我设法将验证数据传递给自定义回调的构造函数.但是,这会导致令人讨厌的"内核似乎已经死亡.它会自动重启".信息.我怀疑这是否是正确的方法.有什么建议吗?

class CustomMetrics(keras.callbacks.Callback):

    def __init__(self, validation_generator, validation_steps):
        self.validation_generator = validation_generator
        self.validation_steps = validation_steps


    def on_epoch_end(self, batch, logs={}):

        self.scores = {
            'recall_score': [],
            'precision_score': [],
            'f1_score': []
        }

        for batch_index in range(self.validation_steps):
            features, y_true = next(self.validation_generator)            
            y_pred = np.asarray(self.model.predict(features))
            y_pred = y_pred.round().astype(int) …
Run Code Online (Sandbox Code Playgroud)

python metrics keras

18
推荐指数
2
解决办法
5752
查看次数

Seaborn matplotlib:无法获取没有渲染器的窗口范围(RuntimeError)

我正在尝试使用以下内容绘制seaborn 群集图(它也不适用于热图),没有NaN承认:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

def plotClusterMap():
    a = pd.DataFrame(np.matrix('1 2; 3 4'))
    print a
    fig = plt.figure()
    sns.clustermap(a)
    plt.show()
Run Code Online (Sandbox Code Playgroud)

a 形成良好:

   0  1
0  1  2
1  3  4
Run Code Online (Sandbox Code Playgroud)

控制台输出:

Traceback (most recent call last):
  File "main.py", line 78, in <module>
    main()
  File "main.py", line 72, in main
    heatmapPlotter.plotClusterMap()
  File "/Users/username/code.py", line 12, in plotClusterMap
    sns.clustermap(a)
  File "/Library/Python/2.7/site-packages/seaborn/matrix.py", line 895, in clustermap …
Run Code Online (Sandbox Code Playgroud)

python macos numpy matplotlib seaborn

4
推荐指数
1
解决办法
2493
查看次数

标签 统计

python ×2

keras ×1

macos ×1

matplotlib ×1

metrics ×1

numpy ×1

seaborn ×1