Tensorflow MNIST:抛出“std::bad_alloc”实例后调用终止

2023-12-19

我正在尝试使用默认的 MNIST 数据集在 Tensorflow 上实现卷积神经网络。

from __future__ import print_function
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
mnist = input_data.read_data_sets('MNIST_data', one_hot=True)


def compute_accuracy(v_xs, v_ys):
    global prediction
    y_pre = sess.run(prediction, feed_dict={xs: v_xs, keep_prob: 1})
    correct_prediction = tf.equal(tf.argmax(y_pre,1), tf.argmax(v_ys,1))
    accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
    result = sess.run(accuracy, feed_dict={xs: v_xs, ys: v_ys, keep_prob: 1})
    return result

def weight_variable(shape):
    initial = tf.truncated_normal(shape, stddev=0.1)
    return tf.Variable(initial)

def bias_variable(shape):
    initial = tf.constant(0.1, shape=shape)
    return tf.Variable(initial)

def conv2d(x, W):
    # stride [1, x_movement, y_movement, 1]
    # Must have strides[0] = strides[3] = 1
    return tf.nn.conv2d(x, W, strides=[1, 1, 1, 1], padding='SAME')

def max_pool_2x2(x):
    # stride [1, x_movement, y_movement, 1]
    return tf.nn.max_pool(x, ksize=[1,2,2,1], strides=[1,2,2,1], padding='SAME')

# define placeholder for inputs to network
xs = tf.placeholder(tf.float32, [None, 784]) # 28x28
ys = tf.placeholder(tf.float32, [None, 10])
keep_prob = tf.placeholder(tf.float32)
x_image = tf.reshape(xs, [-1, 28, 28, 1])
# print(x_image.shape)  # [n_samples, 28,28,1]

## conv1 layer ##
W_conv1 = weight_variable([5,5, 1,32]) # patch 5x5, in size 1, out size 32
b_conv1 = bias_variable([32])
h_conv1 = tf.nn.relu(conv2d(x_image, W_conv1) + b_conv1) # output size 28x28x32
h_pool1 = max_pool_2x2(h_conv1)                                         # output size 14x14x32

## conv2 layer ##
W_conv2 = weight_variable([5,5, 32, 64]) # patch 5x5, in size 32, out size 64
b_conv2 = bias_variable([64])
h_conv2 = tf.nn.relu(conv2d(h_pool1, W_conv2) + b_conv2) # output size 14x14x64
h_pool2 = max_pool_2x2(h_conv2)                                         # output size 7x7x64

## fc1 layer ##
W_fc1 = weight_variable([7*7*64, 1024])
b_fc1 = bias_variable([1024])
# [n_samples, 7, 7, 64] ->> [n_samples, 7*7*64]
h_pool2_flat = tf.reshape(h_pool2, [-1, 7*7*64])
h_fc1 = tf.nn.relu(tf.matmul(h_pool2_flat, W_fc1) + b_fc1)
h_fc1_drop = tf.nn.dropout(h_fc1, keep_prob)

## fc2 layer ##
W_fc2 = weight_variable([1024, 10])
b_fc2 = bias_variable([10])
prediction = tf.nn.softmax(tf.matmul(h_fc1_drop, W_fc2) + b_fc2)

# the error between prediction and real data
cross_entropy = tf.reduce_mean(-tf.reduce_sum(ys * tf.log(prediction),
                                              reduction_indices=[1]))       # loss
train_step = tf.train.AdamOptimizer(1e-4).minimize(cross_entropy)

sess = tf.Session()

sess.run(tf.global_variables_initializer())


for i in range(100):
    batch_xs, batch_ys = mnist.train.next_batch(10)
    sess.run(train_step, feed_dict={xs: batch_xs, ys: batch_ys, keep_prob: 0.5})
    if i % 10 == 0:
        print(compute_accuracy(
        mnist.test.images, mnist.test.labels))

执行时,python 崩溃并显示以下消息: 抛出“std::bad_alloc”实例后调用终止 什么(): std::bad_alloc

我能够指出,当我致电时会发生这种情况compute_accuracy函数,或者一般来说,当我加载整个 mnist.test 图像和标签时。 鉴于我希望使用这些数据,关于可以做什么的任何建议。我已经能够在不同的情况下将图像作为一个整体来处理。


我认为你的内存不足了。它在我的机器(6GB 显卡)上运行正常。尝试减小批量大小,或使用较小的全连接层。

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

Tensorflow MNIST:抛出“std::bad_alloc”实例后调用终止 的相关文章

随机推荐

  • 使用 SwiftUI 成功登录后导航

    我正在使用 Firebase 和 SwiftUI 以用户身份登录 我一切正常 但无法弄清楚用户成功登录后如何导航到下一页 导航链接对我来说似乎很奇怪 所以我想知道是否有其他方法可以导航到下一个视图 这LoginView包含登录屏幕和Logi
  • Spring Boot Oauth2 对同一 URL 使用多个 grant_types

    是否可以配置Spring Boot以允许Oauth2补助金类型password and authorization code在同一个 URL 上 例如 boot 我已经完成了基本的授权配置 如下所示 security oauth2 clie
  • this.setState 在 React 中返回 Promise

    我做了我的componentWillMount 异步 现在我可以使用await与setState 这是示例代码 componentWillMount async gt const fetchRooms this props await th
  • 捕获代码中的异常

    我正在尝试这段代码来检查是否捕获了除以零异常 int main int argc char argv try Divide by zero int k 0 int j 8 k catch std cout lt lt Caught exce
  • Django 使用电子邮件身份验证和 djoser 进行登录

    所以我最近尝试使用 djoser 我想使用电子邮件而不是用户名登录 左塞尔 http djoser readthedocs io en latest index html http djoser readthedocs io en late
  • file.create 之后 My.computer 无法访问文件

    我有一些代码来删除一个文件 创建另一个文件 这样我就可以覆盖它 并在上面写入 My Computer FileSystem DeleteFile pass File Create pass My Computer FileSystem Wr
  • PyMC 错误:hasattr():属性名称必须是字符串

    我在 PyMC 中的模型上运行推理时遇到问题 我正在尝试在相当复杂的模型上运行 MCMC 并且收到以下错误 hasattr attribute name must be string 我在这段代码的最后一行得到了这个 抱歉 这很复杂 但我真
  • 将数据库移至生产服务器需要什么版本的 SQL Server?

    我刚刚在本地 Windows XP 计算机上完成了 ASP NET 的开发 我使用 Visual Studio 2008 和 SQL Server Express 来开发该网站 我的问题是 现在我想将 SQL Server 数据库从我的 X
  • 如何使用 MediaCodec 和 MediaMuxer 录制视频和音频

    我能够在 MediaCodec 和 MediaMuxer 的帮助下录制 编码 视频 接下来 我需要在 MediaCodec 和 MediaMuxer 的帮助下处理音频部分以及将音频与视频复用 我面临两个问题 如何使用 MediaCodec
  • Symfony webpack encore twig 功能不起作用

    我正在 Symfony 4 项目中使用 twig 生成静态 html 页面 我尝试使用简单的循环和 Twig 渲染函数同时生成多个页面 代码如下所示 foreach pages as page html this gt twig gt re
  • 如何访问 WordPress 身份验证令牌

    我们正在尝试使用 OAuth 2 0 将我们的网站链接到 Wordpresses API 希望客户能够从我们的网站进行身份验证并发布到 WordPress 我们需要接收访问令牌才能执行此操作 我们已成功连接 WordPress 以接收我们的
  • 设置类路径层次结构中的其他目录

    有两个目录 出租车 C a c 嗯 我在说目录中 c a b 当我执行 set classpath cd 时 目录 C a b 被分配给类路径变量 但我想将 C a c 分配给类路径 我怎样才能做到这一点 如果您需要将类路径设置为当前所在目
  • C++事件库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 您能否推荐具有以下功能的轻量级跨平台事件记录 日志库 简单的界面 增量事件记录 即event 更新快
  • 更改notepad++中的注释字符

    我正在 notepad 中编辑 properties 文件 我可以使用 Cntrl K 切换块注释 但它会显示 代替 我修改 langs model xml 文件并替换 和 我重新启动了记事本 但它不起作用 有谁知道如何更改属性文件的记事本
  • onCreateOptionsMenu 何时在启用 ActionBar 的活动中发生?

    我知道菜单项将被设置为 ActionBar 中的操作图标 我想确切地知道这个 onCreateOptionsMenu 函数 它在 Activity 生命周期中何时调用 根据我的测试 即使在 onResume 之后也没有 该文档说明如下 pu
  • 如何将服务器生成的音频wav文件发送到客户端浏览器? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我在我的应用程序中使用烧瓶 我想将音频 wav 文件从服务器端发送到客户端 无论是否将 wav 文件保存在磁盘上 知道怎么做吗 您可以使用以
  • 这是 ServiceStack REST API 上的 Redis 的良好用例吗?

    我正在创建一个移动应用程序 它需要一个 API 服务后端来获取 放置每个用户的信息 我将开发网络服务服务栈 http www servicestack net 但想知道存储情况 我喜欢快速内存缓存系统的想法 例如Redis http red
  • 如何修复 Wordpress 的 WooCommerce 结帐时的无限缓冲区

    我目前遇到一个问题 在 Woocommerce 结账页面上 订单审核部分卡在无限缓冲区中 见下文 我在谷歌上搜索了很多并尝试了各种方法 但到目前为止没有任何效果 在我见过的大多数支持线程中 人们说他们已经能够在 Chrome Firefox
  • cglib - 方法拦截器和最终确定?

    我使用cglibMethodInterceptor包装服务 在每次调用服务时 它都应该打开数据会话 将调用传递给服务 最后关闭会话 但是 我注意到它在调用时行为不端Finalizer 我得到以下堆栈跟踪 java lang IllegalA
  • Tensorflow MNIST:抛出“std::bad_alloc”实例后调用终止

    我正在尝试使用默认的 MNIST 数据集在 Tensorflow 上实现卷积神经网络 from future import print function import tensorflow as tf from tensorflow exa