AttributeError:“NoneType”对象没有属性“dtype”

2023-12-07

我正在尝试使用张量流实现一个简单的神经网络。这是一个二元分类问题。 X_train 的形状:(batch_size, 70) 和 Y_train:(batch_size, 2)。我正在使用 csv 读取数据。这是我的代码。我在 python 3.6.0 上运行它。

import numpy as np
import csv
import tensorflow as tf

with open('criminal_train.csv') as fp:
    reader = csv.reader(fp, delimiter=',', quotechar='"')
    train_data = np.array([row for row in reader])
    data_X = train_data[1:, 1:-1]
    data_Y = train_data[1:, -1:]

with open('criminal_test.csv') as fp:
    reader = csv.reader(fp, delimiter=',', quotechar='"')
    test_data = np.array([row for row in reader])
    predict_data = test_data[1:, 1:]

#Spltting the training data in 80:20
split = int(data_X.shape[0]*0.8)
X_train = data_X[:split, :]
X_test = data_X[split:, :]
Y_train_labels = data_Y[:split, :]
Y_test_labels = data_Y[split:, :]

#convert labels to one_hot matrices (classes=2)
Y_train = np.zeros((Y_train_labels.shape[0], 2))
Y_train[np.arange(Y_train_labels.shape[0]), Y_train_labels.astype(int)] = 1
Y_test = np.zeros((Y_test_labels.shape[0], 2))
Y_test[np.arange(Y_test_labels.shape[0]), Y_test_labels.astype(int)] = 1


def random_mini_batches(X, Y, mini_batch_size):
    m = X.shape[0]
    perm = np.random.permutation(X)
    X = X[perm, :]
    Y = Y[perm, :]
    num_batches = int(m / mini_batch_size) + 1
    bathces = []
    for k in range(num_batches):
        X_batch = X[k*mini_batch_size:(k+1)*mini_batch_size, :]
        Y_batch = Y[k*mini_batch_size:(k+1)*mini_batch_size, :]
        batches.append((X_batch, Y_batch))
    return batches

def create_placeholders():
    X = tf.placeholder(tf.float32, shape=[None,70], name='X')
    Y = tf.placeholder(tf.float32, shape=[None,2], name='Y')
    return X, Y

def forward_propagation(X):
    A1 = tf.contrib.layers.fully_connected(X, 100)
    A2 = tf.contrib.layers.fully_connected(A1, 150)
    A3 = tf.contrib.layers.fully_connected(A2, 100)
    Z5 = tf.contrib.layers.fully_connected(A3, 2, activation_fn=None)
    return Z5

def compute_cost(Z5, Y):
    cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=Z5, labels=Y))

def model(X_train, X_test, Y_train, Y_test, learning_rate=0.3, beta1=0.9, beta2=0.999, mini_batch_size=32, epochs=1500):
    X, Y = create_placeholders()
    Z5 = forward_propagation(X)
    cost = compute_cost(Z5, Y)
    optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=beta1, beta2=beta2).minimize(cost)
    init = tf.global_variables_initializer()

    with tf.Session() as sess:
        sess.run(init)
        for epoch in range(1,epochs+1):
            batches = random_mini_batches(X_train, Y_train, mini_batch_size)
            epoch_cost = 0
            for (X_batch, Y_batch) in batches:
                _, cost = sess.run([optimizer,cost], feed_dict={X:X_batch, Y:Y_batch})
                epoch_cost += cost
            if epoch%100 == 0:
                print('Cost in epoch '+str(epoch)+' is '+str(epoch_cost))
        correct_prediction = tf.equal(tf.argmax(Z5), tf.argmax(Y))
        accuracy = tf.reducce_mean(correct_prediction, 'float')

        print('Train Accuray '+str(accuracy.eval(feed_dict={X:X_train, Y:Y_train})))
        print('Test Accuray '+str(accuracy.eval(feed_dict={X:X_test, Y:Y_test})))

model(X_train, X_test, Y_train, Y_test)

但这是我不断收到的错误。

Traceback (most recent call last):
  File "C:\Users\Purusharth\Desktop\hackerearth_project.py", line 90, in <module>
    model(X_train, X_test, Y_train, Y_test)
  File "C:\Users\Purusharth\Desktop\hackerearth_project.py", line 71, in model
    optimizer = tf.train.AdamOptimizer(learning_rate=learning_rate, beta1=beta1, beta2=beta2).minimize(cost)
  File "C:\Python36\lib\site-packages\tensorflow\python\training\optimizer.py", line 343, in minimize
    grad_loss=grad_loss)
  File "C:\Python36\lib\site-packages\tensorflow\python\training\optimizer.py", line 394, in compute_gradients
    self._assert_valid_dtypes([loss])
  File "C:\Python36\lib\site-packages\tensorflow\python\training\optimizer.py", line 543, in _assert_valid_dtypes
    dtype = t.dtype.base_dtype
AttributeError: 'NoneType' object has no attribute 'dtype'

Your compute_cost()函数返回None因为它没有return陈述:

def compute_cost(Z5, Y):
    cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(logits=Z5, labels=Y))

您可以使用此功能来设置cost value:

cost = compute_cost(Z5, Y)

So cost is None在这里,您将其传递到.minimize() method.

修复方法是使用return;大概你想归还tf.reduce_mean() result:

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

AttributeError:“NoneType”对象没有属性“dtype” 的相关文章

  • 在 Python 中延迟转置列表

    所以 我有一个延迟生成的可迭代的三元组 我试图弄清楚如何将其转换为 3 个可迭代对象 分别由元组的第一个 第二个和第三个元素组成 然而 我希望这件事能懒惰地完成 所以 举例来说 我希望 1 2 3 4 5 6 7 8 9 将变成 1 4 7
  • 删除 tkinter 文本默认绑定

    我正在制作一个简单的 tkinter 文本编辑器 但我想要所有默认绑定文本小部件如果可能的话删除 例如当我按Ctrl i它默认插入一个制表符 我制作了一个事件绑定来打印文本框中有多少行 我将事件绑定设置为Ctrl i以及 当我运行它时 它会
  • 我可以同时打开两个 Tkinter Windows 吗?

    可以同时打开2个窗口吗 import tkinter as Tk import random import math root Tk Tk canvas Tk Canvas root background image Tk PhotoIma
  • 如何在plotly(python)中的刻度标签和图形之间添加空格?

    如果我使用绘图创建水平条形图 则每个条形的标签都与图表相对应 我想在标签和图表之间添加一些空间 填充 边距 我怎样才能做到这一点 Example import plotly offline as py import plotly graph
  • 为什么我会收到 ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

    以下代码给出了值错误 major males for row in recent grads if recent grads Men gt recent grads Women major males append recent grads
  • Python Apache Beam 端输入断言错误

    我对 Apache Beam Cloud Dataflow 还很陌生 所以如果我的理解不正确 我深表歉意 我正在尝试通过管道读取大约 30 000 行长的数据文件 我的简单管道首先从 GCS 打开 csv 从数据中提取标题 通过 ParDo
  • Asyncio:从未检索到任务异常的怪异

    假设我有一个简单的代码 import asyncio async def exc print 1 0 loop asyncio get event loop loop create task exc try loop run forever
  • Python 中“is”运算符的语义是什么?

    如何is运算符确定两个对象是否相同 它是如何工作的 我找不到它的记录 来自文档 http docs python org reference datamodel html 每个对象都有一个身份 一个类型 和一个值 对象的身份 一旦发生就永远
  • 使用 python 从 CSV 创建字典

    我有一个 CSV 格式的文件 其中 A B 和 C 是标题 我如何以Python方式将此CSV转换为以下形式的字典 A 1 B 4 C 7 A 2 B 5 C 8 A 3 B 6 C 9 到目前为止我正在尝试以下代码 import csv
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • 如何在 python 中使用交叉验证执行 GridSearchCV

    我正在执行超参数调整RandomForest如下使用GridSearchCV X np array df features all features y np array df gold standard labels x train x
  • 提高光线追踪命中功能的性能

    我有一个简单的 python 光线追踪器 渲染 200x200 的图像需要 4 分钟 这对于我的口味来说绝对是太多了 我想改善这种情况 几点 我为每个像素发射多条光线 以提供抗锯齿功能 每个像素总共发射 16 条光线 200x200x16
  • 为什么 pip 已经是最新的了却要求我升级?

    我全新安装了 python 3 7 1 64 位 并使用最新的 pyCharm 作为我的 IDE 我在这台机器上没有安装其他 python 我去安装 numpy 并收到以下消息 venv C Users John PycharmProjec
  • 为什么我无法杀死 k8s pod 中的 python 进程?

    我试图杀死一个 python 进程 ps aux grep python root 1 12 6 2 1 2234740 1332316 Ssl 20 04 19 36 usr bin python3 batch run py root 4
  • 在字符串内打印单引号

    我想输出 XYZ s ABC 我在Python IDLE中尝试了以下3条语句 第一条和第二条语句输出 a before 带打印功能的第三条语句不输出 before 作为 Python 新手 我想了解为什么 之前输出 在第 1 条和第 2 条
  • 为什么当循环数变大时,设置的打印值会被排序?

    它是python 3 8 当输入10时 打印是随机的 但是当输入900时 打印的顺序与 print sorted s 相同 import random s set for i in range int input loop nums n v
  • 如何在类型提示中定义元组或列表的大小

    有没有办法在参数的类型提示中定义元组或列表的大小 目前我正在使用这样的东西 from typing import List Optional Tuple def function name self list1 List Class1 if
  • 如何将Python包从旧版本安装到新版本?

    我正在使用 python 3 7 最近在 Linux 中安装了 python 3 8 是否有任何 bash 命令或脚本可以获取 3 7 的所有软件包列表并在 3 8 版本中一一安装 我想避免每个包裹都手工完成 注意 我将它们安装在我的系统中
  • 带 Qt 的菜单栏/系统托盘应用程序

    我是 Qt PyQt 的新手 我正在尝试制作一个应用程序 其功能将从菜单栏 系统托盘执行 这里展示了一个完美的例子 我找不到关于如何做到这一点的好资源 有人可以建议吗 Thanks 我认为您正在寻找与QMenu and QMainWindo
  • 在Python中使用os.makedirs创建目录时出现权限问题

    我只是想处理上传的文件并将其写入工作目录中 该目录的名称是系统时间戳 问题是我想以完全权限创建该目录 777 但我不能 使用以下代码创建的目录755权限 def handle uploaded file upfile cTimeStamp

随机推荐

  • jberet 上的独立示例 (jsr352)

    是否有使用 jberet 作为独立模块来执行批处理作业 一直在获取与 WildFly 一起使用的样本 惊讶地发现它在尝试一些示例时寻找容器来加载实现 任何关于为什么 为什么不的见解都会有帮助 以下是如何在独立应用程序中使用 jberet 的
  • 根据模式连接线

    我有以下文件 test 1 My 2 Hi 3 我需要一种使用 cat grep 或 awk 给出以下输出的方法 test1 My2 Hi3 我如何通过单个命令实现此目的 就像是 cat file txt grep awk 请注意 在原始文
  • Python - 从 SharePoint 网站下载文件

    我需要将文件下载并上传到 Sharepoint 站点 这必须使用 python 来完成 我的网站将是https ourOrganizationName sharepoint com Followed通过进一步的链接 最初我以为我可以使用 R
  • 从 Spring+Mongo 中的文档数组中删除项目

    我在 mongodb 中有一个这样的文档集合 id ObjectId 592bc37c339e7a23788b4c7c trips tripGcsId 5937f86e339e7a2a58ac3186 tripCounter NumberL
  • 当模块存在时,为什么 VS Code 会抛出“找不到模块 'typescript'.ts(2307)”?

    我在用着import as ts from typescript 在 ts 文件中导入打字稿 该文件运行良好 但 VS Code 告诉我Cannot find module typescript ts 2307 有什么办法可以抑制这个问题吗
  • JavaScript 中奇怪的意外标记非法 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 我有一个无法解决的语法错误 根据 W3 jQuery
  • 检查 SQL Server 实例是否在本地计算机上?

    我想确定我连接的 SQL Server 是否在本地计算机上 我知道连接到 SQL Server 时有很多方法可以识别 SQL Server 的服务器 实例名称 但是指定服务器名称的方法有很多不同 我不想自己在 IP 地址之间进行比较 机器名
  • JS/jQuery 在滚动事件上交换图像

    我有一个网站菜单 其工作原理与此类似 http jsfiddle net sinky XYGRW 在 stackoverflow 上发现 我的问题是 设计师希望将导航 主页按钮 中的徽标切换为较小的图标 不仅仅是缩小尺寸 而且实际上改变了图
  • 为什么像 chrome://downloads 或 chrome://apps 这样的本地 chrome-url 在无头模式下不起作用?

    我正在尝试访问 chrome 本地网址 但这不起作用 headless chrome 支持本地 URL 吗 我今天正在寻找这个 发现这个 大多数 chrome 内部页面不是在无头模式下实现的 这是 headless Chrome 本身的限制
  • 避免空引用异常

    显然 代码中的绝大多数错误都是空引用异常 是否有任何通用技术可以避免遇到空引用错误 除非我弄错了 否则我知道在 F 等语言中不可能有空值 但这不是问题 我问的是如何避免 C 等语言中的空引用错误 当向用户显示空引用异常时 这表明由于开发人员
  • 使用javascript动态启用和禁用css文件?

    我对 JavaScript 很陌生 我正在创建一个多语言网站 它包含 rtl 和 ltr 语言 我有两个用于语言的 css 当用户更改语言时 我想加载相应的 css 文件 这样可以吗 如果没有建议任何替代方法 可以使用 javascript
  • NSFetchedResultsController swift 部分

    我有一个表视图 它从具有 3 个字段的 CoreData 实体获取数据 firstName String lastName String 和 did NSNumber 这是一个可以打开或关闭的 UISwitch 我想用名字和姓氏填充表 但第
  • pydantic.error_wrappers.ValidationError:FastAPI

    我正在 fastapi 中进行增删改查 我有一个用户模型 并且创建了另一个名为 showuser 的模型 以仅显示查询中的某些特定字段 但是当我执行请求时 出现错误 我只是希望我的请求显示我在 showuser 中拥有的字段 我的模式 fr
  • Rplot.gam错误“1中的错误:object$nsdf:长度为0的参数”

    我正在尝试在 R 中绘制一个 gam 对象 这是我用 gam 包制作的 我收到了报告中相同的错误1 object nsdf 中的错误 使用plot gam 时长度为0 的参数 然而 在那里找到的解决方案 更新到最新版本 我认为 对我来说不起
  • 如何强制禁用 intel_pstate?即使在 grub 中使用 intel_pstate=disable 选项,intel_pstate 也会在重新启动时启用

    我正在尝试使用 cpu 频率缩放来设置 cpu 频率 在我的系统中 仅支持 powersave 性能频率缩放调节器 在其他文档中解释过 默认情况下 intel pstate 是启用的 并且它只支持 powersave 性能频率缩放 gove
  • 破坏红色区域的内联汇编

    我正在编写一个加密程序 其核心 一个广泛的乘法例程 是用 x86 64 汇编语言编写的 既是为了速度 也是因为它广泛使用诸如adc我不想内联这个函数 因为它很大并且在内循环中被调用多次 理想情况下 我还想为此函数定义一个自定义调用约定 因为
  • 结构对齐填充、填充的最大尺寸以及结构成员的顺序

    自从我发现我的 sizeof 运算符没有返回我期望的结果以来 我一直在学习结构数据填充 根据我观察到的模式 它将结构成员与最大的数据类型对齐 那么例如 struct MyStruct1 char a 1 byte char b 1 byte
  • 最新的 Oracle Data Provider for .NET (11.2.0.3.20) 破坏了 EF 更新向导

    我有 VS2012 和最新 32 位版本的 ODAC 带有 Oracle Developer Tools 的版本 5 安装在 Win7 机器上 一切都是全新安装 在此环境中 我有一个 ASP NET Web 窗体解决方案 该解决方案最初是在
  • 从多个 iframe 打印预览?

    我在一个页面中有几个 iframe 我想在打印预览中将所有 iframe 内容显示为 iframe 的快照 我用了window print 对于单个 iframe 来说 它工作得很好 但是我该如何为多个框架做呢 您需要将所有帧一一聚焦并合并
  • AttributeError:“NoneType”对象没有属性“dtype”

    我正在尝试使用张量流实现一个简单的神经网络 这是一个二元分类问题 X train 的形状 batch size 70 和 Y train batch size 2 我正在使用 csv 读取数据 这是我的代码 我在 python 3 6 0