使用 ScikitLearn 的神经网络实现时出现的问题

2024-03-28

我正在尝试使用 Scikit Learn 提供的神经网络实现来实现图像处理。我有近 10,000 张“JPG”格式的彩色图像,我将这些图像转换为“PNG”格式并删除了颜色信息。新图像都是黑白图像。将这些图像转换为矢量格式后,这些图像矢量形成神经网络的输入。

对于每个图像,还有一个输出,形成神经网络的输出。

输入文件只有值 0 和 1,没有其他值。每个图像的输出对应于一个连续的向量,该向量介于 0 和 1 之间,长度为 22。即每个图像的输出是一个长度为 22 的向量。

为了开始处理,我只从 100 个图像及其相应的输出开始,并得到以下错误:

ValueError: Array contains NaN or infinity

我还想指出,第一次迭代在这里完成,我在第二次迭代时遇到了这个错误。

为了尝试不同的东西,我将输入和输出各减少到 10 个图像。使用同一段代码(很快就会出现),我能够完成 7 次迭代(我已将迭代次数设置为 20),然后收到相同的错误。

然后我将迭代次数更改为 5,只是为了检查它是否有效。进行此更改后,我收到以下错误:

ValueError: bad input shape (10, 22)

我也尝试使用np.reval()关于我的输入和输出,但这给了我NaN or Infinity再次出错。

这是我在整个过程中使用的代码:

import numpy as np
import csv
import matplotlib.pyplot as plt
from scipy.ndimage import convolve
from sklearn import linear_model, datasets, metrics
from sklearn.cross_validation import train_test_split
from sklearn.neural_network import BernoulliRBM
from sklearn.pipeline import Pipeline


def ReadCsv(fileName):
    in_file = open(fileName, 'rUb')
    reader = csv.reader(in_file, delimiter=',', quotechar='"')
    data = [[]]
    for row in reader:
        data.append(row)

    data.pop(0)
    return data

X_train = np.asarray(ReadCsv('100Images.csv'), 'float32')
Y_train = np.asarray(ReadCsv('100Images_Y_new.csv'), 'float32')
X_test = np.asarray(ReadCsv('ImagesForTest.csv'), 'float32')
Y_test = np.asarray(ReadCsv('ImagesForTest_Y_new.csv'), 'float32')

logistic = linear_model.LogisticRegression()
rbm = BernoulliRBM(random_state=0, verbose=True)

classifier = Pipeline(steps=[('rbm', rbm), ('logistic', logistic)])

rbm.learning_rate = 0.06
rbm.n_iter = 5

rbm.n_components = 100
logistic.C = 6000.0

classifier.fit(X_train, Y_train)

print()
print("Logistic regression using RBM features:\n%s\n" % (
    metrics.classification_report(
        Y_test,
        classifier.predict(X_test))))

我非常感谢有关此问题的任何帮助。

TIA.


将学习率更改为较小的值可能会解决此问题。 (即 rbm.learning_rate)

至少这解决了我之前遇到的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ScikitLearn 的神经网络实现时出现的问题 的相关文章

随机推荐

  • 在 ansible shell 命令中使用 {{ 和 }}

    我的剧本里有这个 name Get facts about containers shell docker ps f name jenkins format raw Names endraw register container 请注意 我
  • Extjs4 在组合框中添加一个空选项

    我在 ExtJS4 中有一个带有此初始配置的组合框 xtype combobox name myCombo store MyStore editable false displayField name valueField id empty
  • 将 Hessian 矩阵定义为零

    在使用 scipy optimize minimize 和 trust constr 方法时 我得到了这个 UserWarning scipy optimize hessian update strategy py 187 UserWarn
  • 为什么 token.py 的存在会导致内置 help() 崩溃? [复制]

    这个问题在这里已经有答案了 作为一个爱好 学习项目 我正在用 Python 编写一个解析器生成器 我的一个代码文件名为 token py 其中包含几个用于将纯字符串转换为 Token 对象的类 我刚刚发现 在 Python 中使用控制台中的
  • ASPNETDB.MDF 文件未显示在 APP_DATA 中

    我正在了解 Microsoft 关于 MVC 2 表单身份验证的演练 http msdn microsoft com en us library ff398049 aspx http msdn microsoft com en us lib
  • 找不到 support-fragment.jar (com.android.support:support-fragment:27.0.2)

    我克隆了我的项目并使用 Android studio 打开 但构建失败并出现以下错误同一个项目对其他人来说运行良好 What went wrong Could not resolve all files for configuration
  • 字符串比较 Objective-C

    我一直在努力进行简单的比较 但无法让它发挥作用 我正在读取一个 XML 文件 我需要比较其中的数据才能显示正确的图片 http www cleaner se larm xml http www cleaner se larm xml 解析示
  • 带有数字键的 Django postgres Json 字段

    我有带有 postgres json 字段的模型 class MyModel models Model data JSONField null True 然后 我这样做 m1 MyModel objects create data 10 2
  • 摆脱 django testsuite 中的空 models.py

    我有两个纯服务应用程序 它们充当我的核心模型的仆人 因此 他们没有任何自己的模型 虽然第一个服务的测试套件运行良好 但第二个服务会抛出以下错误 django core exceptions ImproperlyConfigured App
  • C++:在另一个函数中声明一个函数不是编译器错误,那么...它是什么?

    我无意中编译了一个与此类似的源 void y optionally declaring y void x some code void y some code void y some code optionally defining y 这
  • python re.search 不适用于多行字符串

    我已将此文件加载到字符串中 some preceding stuff static char header data 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1
  • py中的pyc文件反编译失败

    感谢您的关注 我有一个pyc文件 我需要获取它的源代码 我已经尝试了很多库 但是版本有错误 这是尝试反编译时的命令行输出 C Users nigga22nd Downloads gt uncompyle6 bot pyc uncompyle
  • .NET中的序列号(注册密钥)算法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有一些关于 IP 安全等的及时帖子 但我找不到专门针对算法的帖子 在我当前的一个项目中 我们决定采用离线注册密钥系统的路线 我想我们最
  • NSD昨天的日期

    我如何创建一个NSDate具有当前日期以外的自定义日期的对象 例如 我想创建昨天或两天前的变量 你应该使用NSCalendar https developer apple com library mac documentation Coco
  • 使用QMediaPlayer播放资源中的mp3文件

    我尝试播放资源中声明的 mp3 文件 但它显示 Btn clicked current media qrc sound sound FarAway mp3 Error QMediaPlayer FormatError Media state
  • 读取字符串和整数

    我想要做的是从文本文件中读取一行 其中包含一个长度 Name Surname 1 14 我知道如果我读取字符串 字符串将是所有字符 直到空格 但是 getline 将整行读取为字符串 那么我该如何阅读这样的一行呢 有什么简单的方法或者我必须
  • 将字符串拆分为字符串数组

    我正在尝试找到一种将字符串拆分为字符串数组的方法 每当遇到白色香料时我都需要将其拆分 例如 嗨 我是保罗 into 嗨 我是 保罗 如何使用正则表达式表示 split 方法中的空格 你需要一个正则表达式 例如 s 意思是 每当遇到至少一个空
  • angularjs Nodejs应用程序的最佳部署架构

    我在 AngularJS 和 NodeJS 中有 Moto Adverts 应用程序 Angularjs client side 在 Apache HTTP Server localhost 8000 上运行 但 nodejs server
  • Qt 单例实现

    我正在寻找 Singleton Qt 实现并发现this https wiki qt io Qt thread safe singleton 但我对此有一些疑问 制作的目的是什么create a QBasicAtomicPointer 重点
  • 使用 ScikitLearn 的神经网络实现时出现的问题

    我正在尝试使用 Scikit Learn 提供的神经网络实现来实现图像处理 我有近 10 000 张 JPG 格式的彩色图像 我将这些图像转换为 PNG 格式并删除了颜色信息 新图像都是黑白图像 将这些图像转换为矢量格式后 这些图像矢量形成