【发布时间】:2014-08-22 00:40:09
【问题描述】:
我修改了 scikit-learn 的 BernoulliRBM 类以使用 softmax 可见单元组。在这个过程中,我添加了一个额外的 Numpy 数组 visible_config 作为类属性,它在构造函数中初始化如下:
self.visible_config = np.cumsum(np.concatenate((np.asarray([0]),
visible_config), axis=0))
visible_config 是一个 Numpy 数组,作为输入传递给构造函数。当我直接使用fit() 函数训练模型时,代码运行没有错误。但是,当我使用GridSearchCV 结构时,出现以下错误
Cannot clone object SoftmaxRBM(batch_size=100, learning_rate=0.01, n_components=100, n_iter=100,
random_state=0, verbose=True, visible_config=[ 0 21 42 63]), as the constructor does not seem to set parameter visible_config
这似乎是类实例与其由sklearn.base.clone 创建的副本之间的相等性检查问题,因为visible_config 未正确复制。我不知道如何解决这个问题。它在文档中说sklearn.base.clone 使用deepcopy(),所以visible_config 不应该也被复制吗?有人可以解释一下我可以在这里尝试什么吗?谢谢!
【问题讨论】:
标签: python numpy copy scikit-learn