InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10...问题解决办法

InternalError(seeabovefortraceback):BlasGEMMlaunchfailed:a.shape=(300,1),b.shape=(1,10),m=300,n=10,k 训练cbow模型的时候报错:InternalError(seeabovefortraceback):BlasGEMMlaunchfailed:a.shape=(300,1),b.shape=(1,10),m=300,n=10,k=1[[Node:MatMul=MatMul[T=DT_FLOAT,查了资料,发现是使用TensorFlow-gpu出现的问题,解决方案: 如果你是使用 GPU 版 Ten... 阅读详情

在学习tensorflow的分布式学习时,在实验代码中遇到以下错误:

InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10...

查看了几种解决方案:https://blog.youkuaiyun.com/Vinsuan1993/article/details/81142855 ,都不work,电脑重启后仍然出错。

最后通过做如下修改,错误解决,然后再将代码改回去,错误未复现。

IMAGE_PIXELS = 28
# x = tf.placeholder(dtype=tf.float32, shape=[None, IMAGE_PIXELS * IMAGE_PIXELS])
x = tf.placeholder(dtype=tf.float32, shape=[None, 784])

## hid_w = tf.Variable(tf.truncated_normal([IMAGE_PIXELS * IMAGE_PIXELS, ##HIDDEN_UNITS],stddev=1.0 / IMAGE_PIXELS), name='hid_w')
hid_w = tf.Variable(tf.truncated_normal([784, HIDDEN_UNITS],stddev=1.0 / IMAGE_PIXELS), name='hid_w')

我知道这种办法有点SB,但是病急乱投医下管用了,也不知道为什么。这篇博客主要记录下自己当时碰到这个问题是怎么解决的,避免忘记,大家勿喷。

最后附实验源码:

"""
python single_device_single_gpu_mnist.py --job_name=ps --task_index=0
python single_device_single_gpu_mnist.py --job_name=worker --task_index=0
python single_device_single_gpu_mnist.py --job_name=worker --task_index=1 
"""
# encoding:utf-8
import math
import tempfile
import time
import tensorflow as tf
from tensorflow.examples.tutorials.mnist import input_data
import os

flags = tf.app.flags
flags.DEFINE_string('job_name', None, 'job name: worker or ps')
flags.DEFINE_integer('task_index', None, 'Index of task within the job')
flags.DEFINE_string('gpu_available', "0,1", 'gpu_available')
flags.DEFINE_integer("issync", None, "是否采用分布式的同步模式,1表示同步模式,0表示异步模式")
FLAGS = flags.FLAGS

os.environ["CUDA_DEVICES_ORDER"] = "PCI_BUS_ID"
os.environ["CUDA_VISIBLE_DEVICES"] = FLAGS.gpu_available

##选择服务器:
cluster = tf.train.ClusterSpec({'ps': ["101.6.66.3:22221"],
                                'worker': ["101.6.66.3:22225"]})

# 定义超参数
IMAGE_PIXELS = 28
DATA_DIR = "./mnist"
HIDDEN_UNITS=100
TRAIN_STEPS = 10000
BATCH_SIZE=100
LR=0.01

## 获取数据集
mnist = input_data.read_data_sets(DATA_DIR, one_hot=True)
##判断终端输入的正误
if FLAGS.job_name not in ["worker","ps"]:
    raise ValueError("--------FLAGS.job_name input error,must be 'worker' or 'ps'")
if FLAGS.task_index not in range(0,2):
    raise ValueError("--------FLAGS.task_index input error, must be an int")
## 根据终端输入,选择服务器
server = tf.train.Server(cluster,job_name=FLAGS.job_name,task_index=FLAGS.task_index)

if FLAGS.job_name == "ps":
    server.join()

## 训练代码
is_chief = (FLAGS.task_index == 0)
target = server.target
worker_device = "/job:worker/task:{}".format(FLAGS.task_index)
ps_device = "/job:ps/task:0/device:CPU:0"

with tf.device(tf.train.replica_device_setter(worker_device=worker_device,ps_device = ps_device,cluster=cluster)):
    x = tf.placeholder(dtype=tf.float32, shape=[None, IMAGE_PIXELS * IMAGE_PIXELS])
    y_ = tf.placeholder(dtype=tf.float32, shape=[None, 10])
    global_step = tf.Variable(0, name='global_step', trainable=False)  # 创建纪录全局训练步数变量

    ## variables
    hid_w = tf.Variable(tf.truncated_normal([IMAGE_PIXELS * IMAGE_PIXELS, HIDDEN_UNITS],stddev=1.0 / IMAGE_PIXELS), name='hid_w')
    hid_b = tf.Variable(tf.zeros([100]), name='hid_b')
    sm_w = tf.Variable(tf.truncated_normal([HIDDEN_UNITS, 10],stddev=1.0 / math.sqrt(HIDDEN_UNITS)), name='sm_w')
    sm_b = tf.Variable(tf.zeros([10]), name='sm_b')

    ## ops
    hid_lin = tf.nn.xw_plus_b(x, hid_w, hid_b)
    hid = tf.nn.relu(hid_lin)
    y = tf.nn.softmax(tf.nn.xw_plus_b(hid, sm_w, sm_b))
    cross_entropy = -tf.reduce_sum(y_ * tf.log(tf.clip_by_value(y, 1e-10, 1.0)))

    opt = tf.train.AdamOptimizer(LR)
    train_step = opt.minimize(cross_entropy, global_step=global_step)

    ##创建sess,执行训练
    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    config.log_device_placement = True

    with tf.Session(target,config=config) as sess:
        sess.run(tf.global_variables_initializer())
        print("worker {} : session initialization complete.".format(FLAGS.task_index))

        batch_xs, batch_ys = mnist.train.next_batch(BATCH_SIZE)
        train_feed = {x: batch_xs, y_: batch_ys}

        _, step = sess.run([train_step, global_step], feed_dict=train_feed)
        print("successfully!")

 

归纳算法求极值 极值问题。m、n为整数,且满足下列两个条件:①m、n∈{1,2,…,K}(1≤K≤109);②(n2-mn-m2)2=1。编一程序,由键盘输入K,求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,若K=1995,则m=987,n=1597,则m、n满足条件,且可使m2+n2的值最大。 极值问题。m、n为整数,且满足下列两个条件:①m、n∈{1,2,…,K}(1≤K≤109);②(n2-mn-m2)2=1。编一程序,由键盘输入K,求一组满足上述两个条件的m、n,并且使m2+n2的值最大。例如,若K=1995,则m=987,n=1597,则m、n满足条件,且可使m2+n2的值最大。 立即下载

相关推荐

Code Composer Studio 8.3.1安装与常见问题解决指南

本文提供了Code Composer Studio 8.3.1版本的详细安装指南与常见问题解决方案。内容涵盖从下载离线安装包、系统环境准备、自定义安装步骤,到首次启动配置及汉化建议。重点解析了安装过程中可能遇到的闪退、卡顿、Java虚拟机错误等典型问题的排查与修复方法,旨在帮助开发者高效部署这一稳定的嵌入式集成开发环境。

weixin_29195217的博客 329

InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10...解决方法

环境windows10、tensorflow-gpu1.9.0、keras2.2.0、cuda9.0、cudnn7、显卡2080Ti 报错:InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10... 我的先说段废话,我看了两天博客试遍了博客几乎所有方法,我的头很痛,...

不爱读书的小孩-博客 6772

一文搞懂STM32定时器翻转模式(产生多路频率、占空比的PWM)

(产生多路频率、占空比的PWM)

weixin_56688599的博客 7935

Blas GEMM launch failed 错误解决方案

错误信息如下: tensorflow.python.framework.errors_impl.InternalError: 2 root error(s) found. (0) Internal: Blas GEMM launch failed : a.shape=(10, 10), b.shape=(10, 10), m=10, n=10, k=10 [[{{node sequential/simple_rnn/while/body/_1/MatMul_1}}]] [[Res...

UX_LEGEND的专栏 3838

达梦数据库连接报错6001网络通信异常

本文主要记录客户端连接达梦数据库报错6001网络通信异常问题分析过程、问题原因以及问题解决方法。

chen_zizi2025的博客 2769

手把手教你用Qt和DSP28335实现串口Bootloader,附赠源码和避坑指南

本文详细介绍了如何使用Qt和DSP28335实现串口Bootloader,包括开发环境搭建、通信协议设计、Qt上位机开发、DSP端Bootloader核心实现以及应用程序工程的特殊配置。通过实战案例和源码分享,帮助开发者快速掌握嵌入式固件升级技术,提升工业设备远程升级的效率和可靠性。

weixin_29176179的博客 134

出错 InternalError: Blas GEMM launch failed : a.shape=(64, 784), b.shape=(784, 32), m=64, n=32, k=784

错误代码显示 // 代码如下所示。主要是tensorflow2.0-GPU训练mnist数据集时,出错:InternalError: Blas GEMM launch failed : a.shape=(64, 784), b.shape=(784, 32), m=64, n=32, k=784 // An highlighted block var foo = 'bar'; # 模型的训练、验证和测试与训练模型完全相同 # 下面使用mnist数据集进行展示 (x_train, y_train), (

weixin_44152421的博客 5770

如何提高电路的抗干扰能力

本内容详细介绍了电源传导干扰处理,包括滤波、Feedthrough电容器、磁环、磁珠、屏蔽的使用与选型,EMC电磁兼容测试项目简介与要求,单片机与电源抗干扰处理等。

让你爱上电路设计 8597

InternalError (see above for traceback): Blas GEMM launch failed : a.shape=(x, x), b.shape=(x,x)錯誤

這個錯誤是在一開始訓練Keras(使用TensorFlow當backend)模型的時候就出現。Python版本:3.5.2 Keras版本:2.1.2 TensorFlow版本:1.3.0 使用`nvidia-smi`查看GPU memory的使用情況:發現己被其它程序佔滿。 試著將這些程序關掉,然後再重新運行剛剛那段代碼(不必重啟kernel),問題即可成功解決!

keineahnung2345的博客 7825

手把手教你学Simulink--巴特沃斯滤波器设计与实现仿真

巴特沃斯滤波器的设计目标是拥有尽可能平滑的通带响应,这意味着在通带内信号衰减最小且没有波动。这种类型的滤波器非常适合用于音频处理、生物医学信号处理以及其他需要高保真度的应用场景。根据应用需求的不同,可以选择低通、高通、带通或带阻滤波器。明确你的系统需求,如输入信号类型(正弦波、方波等)、滤波器类型(低通、高通、带通或带阻)、截止频率、滤波器阶数等。假设我们需要设计一个4阶低通巴特沃斯滤波器,其截止频率为1kHz,用来过滤掉高于1kHz的所有频率成分。

MHD0815的博客 450

使用GitLab限制开发者使用CI/CD的权限,三种方案

使用三种方案来限制开发人员的CI/CD权限。

知无涯 5096

【tensorflow报错】tensorflow.python.framework.errors_impl.InternalError: Blas GEMM launch failed:XXX

tensorflow报错解决

weixin_44445154的博客 9990

高速特征金字塔多角度旋转模板匹配(工业零部件缺陷检测C++ Opencv版)

博主在性能较好的笔记本上测试算法全部执行效果大约为45ms,在一般配置的笔记本上博主在性能较好的笔记本上测试算法全部执行效果大约为130ms。下图即为实际检测效果。本文最后附有完整代码:Qt版和MFC版本(可直接运行)。...

认真努力,做一只会飞的毛毛虫。 5547

InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10另外一种问题的可能

InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10。 在jupyter notebook出现这种错误,我通过cmd查看GPU使用情况,却发现没有程序占用GPU内存,也不是虚拟环境和tensorflow设置分配显存的问题。 在cmd 窗口输入nvidia-smi 我曾...

qq_43263543的博客 1609

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

InternalError: Blas GEMM launch failed : a.shape=(1000, 1000), b.shape=(1000, 1000), m=1000, n=1000,

@[TOC](InternalError: Blas GEMM launch failed : a.shape=(1000, 1000), b.shape=(1000, 1000), m=1000, n=1000,) 报错原因 GPU被别的进程占用了! 解决方法 方法一 找到占用GPU的进程,并杀死! 方法二 简单粗暴,重启服务! ...

FriendshipTang的博客 950

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

解决 tensorflow.python.framework.errors_impl.InternalError: Blas GEMM launch failed

运行tensorflow时报错如下: tensorflow.python.framework.errors_impl.InternalError: Blas GEMM launch failed : a.shape=(1, 10), b.shape=(10, 2), m=10, n=2, k=10 [Op:MatMul] 原因: GPU被占用。tensorflow sess = tf.Sessio...

沙哈 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

InternalError (see above for traceback): Blas GEMV launch failed: m=1, n=100

python tensorflow 运行提示错误:InternalError (see above for traceback): Blas GEMV launch failed: m=1, n=100 原因:有其他session或InteractiveSession开启(看是不控制台中启动了InteractiveSession,没有关闭) 解决方法:关闭InteractiveSe...

weixin_30498807的博客 448

Blas xGEMMBatched launch failed的出现原因

如果你的cudatoolkit是9.x版本的,在执行两个很大的batch做matmal的时候,可能会报一个很奇怪的错误: 但是实际上你的显存是够的。为什么会报这样的错误呢? 这个问题困扰了我好几天。从网上查阅了很多资料,才发现是cublas的内部的一个保护机制。当你对两个batch做matmul的时候,如果batch的大小大于172800(大概是这么一个数),就会报错。不太确定cudatool...

bonjourdeutsch的博客 7356

如何处理TensorFlow中的InternalError: Blas GEMM launch failed

大家好,我是默语,擅长全栈开发、运维和人工智能技术。。这个错误通常出现在进行矩阵乘法运算时,特别是涉及到BLAS库调用时。本文将深入分析这个错误的原因,并提供详细的解决方案和代码示例。希望通过这篇文章,能够帮助大家更好地使用TensorFlow进行深度学习模型的开发。是TensorFlow中的一个错误,通常出现在调用BLAS库进行矩阵乘法运算时。这可能是由于GPU内存不足、驱动问题或TensorFlow配置不当引起的。# 示例代码try:在这个例子中,进行大规模矩阵乘法运算时可能会触发。方法描述。

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 5万+

错误:InternalError: Blas xGEMM launch failed 的解决办法

InternalError: Blas xGEMM launch failed 的解决办法

qq_59666235的博客 887

InternalError: Blas GEMM launch failed 原因

ubuntu 16.04 + cuda 9.0 + cudnn 7.05 +tensorflow-gpu==1.5 发生原因: (1)、由于其他pythonx程序占用了GPU资源,导致现有程序没法分配足够的资源去执行当前程序。 (2)、tensorflow-gpu默认占用所有显存,注意在初始化 Session 的时候为其分配固定数量的显存,否则可能会在开始训练的时候直接报错退出。 解决办法: (1...

yao8130628的博客 2154

Blas GEMV launch failed: m=3, n=10000

在使用tensorflow处理图片的时候,出现了如题所示错误。本次运行使用了独显进行计算,而错误原因是因为同时运行了多个占用显卡运行资源的程序! 比如同时运行了好几个jupyter的kernel,或者在pycharm中选择了run with python console且同时开启了多个console窗口,或者在运行jupyter的时候又运行了pycharm,就会造成这种问题。 因此解决办法就是:只...

吟游诗人——吟唱生命的不朽 1990

分类算法测试

今天主要总结一些问题: (1)Blas GEMM launch failed : a.shape=(50, 784), b.shape=(784, 10), m=50, n=10, k=784 这个问题很诡异:重启jupyter notebook就没有了,然后切换别的程序执行,又有了,查看GPU信息: 程序都执行完很久了,显存还被占用着。待会我看下关闭之后的显存状态。(应该是代码不规范导致的...

gaotihong的博客 800

tensorflow-gpu中使用keras时 “Blas GEMM launch failed”错误的解决方法

环境:Anaconda 4.5.11            tensorflow-gpu 1.13.1            CUDA 10.0   &nbs...

Humanlike_ 5228
上一篇: tensorflow获取可用GPU设备
下一篇: tensorflow 卷积:设定特定卷积核
wzg2016
博客等级 码龄10年 539粉丝 493原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值