回复上一篇文章,RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling cublasCreate(handle)成功解决

2023-11-13

回应自己的上一篇文章地址在这
花了两天时间,找了各种方法,各种案例,以及各种的尝试,修改了很多次,也尝试用CPU去跑,后面发现还是跑不起来这个数据集。我罗列一部分方法
方法一:
改batch_size=的值,有的人问题就是这个
方法二:
系统的显卡版本不对,更新一下驱动
方法三:
CUDA和你的CUDNN的版本不匹配,重新配置环境
方法四:
可能就是和我一样,你的Alexnet的模型写的不对,尝试我的改改看

import torch.nn as nn
import torch


class AlexNet(nn.Module):
    def __init__(self, num_classes=1000, init_weights=False):
        super(AlexNet, self).__init__()
        self.features = nn.Sequential(
            nn.Conv2d(3, 48, kernel_size=11, stride=4, padding=2),  # input[3, 224, 224]  output[48, 55, 55]
            nn.ReLU(inplace=True),
            nn.MaxPool2d(kernel_size=3, stride=2),                  # output[48, 27, 27]
            nn.Conv2d(48, 128, kernel_size=5, padding=2),           # output[128, 27, 27]
            nn.ReLU(inplace=True),
            nn.MaxPool2d(kernel_size=3, stride=2),                  # output[128, 13, 13]
            nn.Conv2d(128, 192, kernel_size=3, padding=1),          # output[192, 13, 13]
            nn.ReLU(inplace=True),
            nn.Conv2d(192, 192, kernel_size=3, padding=1),          # output[192, 13, 13]
            nn.ReLU(inplace=True),
            nn.Conv2d(192, 128, kernel_size=3, padding=1),          # output[128, 13, 13]
            nn.ReLU(inplace=True),
            nn.MaxPool2d(kernel_size=3, stride=2),                  # output[128, 6, 6]
        )
        self.classifier = nn.Sequential(
            nn.Dropout(p=0.5),
            nn.Linear(128 * 6 * 6, 2048),
            nn.ReLU(inplace=True),
            nn.Dropout(p=0.5),
            nn.Linear(2048, 2048),
            nn.ReLU(inplace=True),
            nn.Linear(2048, num_classes),
        )
        if init_weights:
            self._initialize_weights()

    def forward(self, x):
        x = self.features(x)
        x = torch.flatten(x, start_dim=1)
        x = self.classifier(x)
        return x

    def _initialize_weights(self):
        for m in self.modules():
            if isinstance(m, nn.Conv2d):
                nn.init.kaiming_normal_(m.weight, mode='fan_out', nonlinearity='relu')
                if m.bias is not None:
                    nn.init.constant_(m.bias, 0)
            elif isinstance(m, nn.Linear):
                nn.init.normal_(m.weight, 0, 0.01)
                nn.init.constant_(m.bias, 0)

代码实现成功如图

在这里插入图片描述
成功实现,Happy,第一次写文章,java小白,python小白,希望大家看到了可以见谅,请多多指教

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

回复上一篇文章,RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling cublasCreate(handle)成功解决 的相关文章

随机推荐

  • 栈(也被称作堆栈,一种遵循先进后出原则的数据结构)

    目录 1 栈 Stack 1 1 入栈 push 1 2 出栈 pop 1 3 栈的抽象数据类型 栈ADT 1 4 栈接口 2 利用数组实现栈 2 1 栈的实现 2 2 利用数组实现栈的优势与缺点 3 利用单链表实现栈 3 1 栈的实现 3
  • 【学习笔记】YOLO9000: Better, Faster, Stronger/YOLO2

    本文参考 摘录 修改自以下文章 1 https blog csdn net l7H9JA4 article details 79955903 2 http www 360doc com content 17 1017 09 42392246
  • rio中实现手机端listview滑动删除

    1 toolbar line speedbutton X 2 label image X 4 listview组件 2 组件属性设置 1 image的属性 Size Width 9 000000000000000000 Size Heigh
  • Python之装饰器(综合练习)

    装饰器 案例1 创建装饰器 要求如下 1 创建add log装饰器 被装饰的函数打印日志信息 2 日志格式为 字符串时间 函数名 xxx 运行时间 xxx 运行返回值结果 xxx 代码 import time import functool
  • 帧动画和补间动画的使用

    文章目录 一 Android 动画分类 二 帧动画 二 补间动画 1 alpha anim xml 动画实现 2 scale xml 动画实现 3 set 标签将多个动画组合 4 Java Code 实现 一 Android 动画分类 总的
  • 龙书笔记(11)

    chap 11 网格 后篇 这次涉及的内容微多 如何将x文件中的数据加载到id3dxmesh对象中 如何使用渐近网格接口id3dxpmesh 如何使用d3dx创建外接体 1 ID3DXBuffer 这是一个泛型数据结构 在使用的时候转换成自
  • Jmeter(二十) - 从入门到精通 - JMeter监听器 -下篇(详解教程)

    1 简介 监听器用来监听及显示JMeter取样器测试结果 能够以树 表及图形形式显示测试结果 也可以以文件方式保存测试结果 JMeter测试结果文件格式多样 比如XML格式 CSV格式 默认情况下 测试结果将被存储为xml格式的文件 文件的
  • 第一次做蛋糕,还不错呵呵。

    戚风蛋糕 味道还不错 img http dl iteye com upload attachment 313524 f5f5cd3b 7b82 34bb b343 70bba85f1ae0 jpg img img http dl iteye
  • uk码对照表_英码和中国码对照表

    刚来英国逛街 网购 或者在国内海淘的时候 相信总会有一个问题困扰你 这衣服和鞋子上标注的英码怎么看啊 分不清楚的时候 不得不拿上好几件试过才知道自己的码数 有时候不清楚码数连帮爸妈买件合身的衣服都困难 海淘的宝宝买错了尺码再退货更是个麻烦事
  • 网络_VMware网络连接模式——桥接模式、NAT模式以及仅主机模式的介绍和区别

    VMware网络连接模式 桥接模式 NAT模式以及仅主机模式的介绍和区别
  • C#之 JSon的使用

    Json简介 贴上百度简介地址 关于JSon的介绍 在c 中使用JSON首先需要在NugGit中加载第三方dll接口 NeWtonsoft Json 在需要使用的类中导入命名空间 using NewTonsoftJson Linq 处理Js
  • 未来刷脸支付就是一个必不可少的浪潮

    刷脸就是潮流 时代的产物扫码付款谁都拥有 那刷脸支付体验过吗 那代表未来设备升级就是一个必不可少的浪潮 还在犹豫的你准备加入这年代巨浪吗 AI刷脸支付功能定位就是安全认证 便捷省时 环保省资源 高效率 降低人工成本 人性化 解放双手 在顾客
  • QEventLoop 使用用例

    第一篇 QEventLoop 使用用例 问题描述 实验1 未使用 QEventLoop 实验2 使用 QEventLoop 问题描述 在while循环执行过程中同时响应其它时间 问题比较简单 记录一下实验过程 头文件 class MainW
  • 位运算计算规则

    0 0 0 0 1 0 1 0 0 1 1 1 按位与 两个相应的二进制位中都为1 该位的结果值为1 例 101010 110011 100010 0 0 0 0 1 1 1 0 1 1 1 1 按位或 两个相应的二进制位中只要有一个为1
  • 深入浅出设计模式之观察者设计模式

    举例 先让我们看一个简单的现实生活中的观察者设计模式 我们都知道老师与学生家长的关系 老师会把每次考试的成绩告诉家长 主题 只要是老师所教的班级的学生的家长才能收到 别的班级的家长不能收到 当学生毕业后 学生家长就无法收到学生成绩 只要产生
  • RabbitMQ理论+实战

    1 引出 1 1 中间件应用场景 1 跨系统数据传输 2 高并发的流量削峰 3 数据的分发与异步处理 4 大数据分析与传递 5 分布式事务 1 2 中间件常用协议 01 什么是协议 所谓协议是指 1 计算机底层操作系统和应用程序通讯时共同遵
  • 【华为OD机试/笔试真题 python】出错的或电路

    题目描述 出错的或电路 某生产门电路的厂商发现某一批次的或门电路不稳定 具体现象为计算两个二进制数的或操作时 第一个二进制数中某两个比特位会出现交换 交换的比特位置是随机的 但只交换这两个位 其他位不变 很明显 这个交换可能会影响最终的或结
  • 从零搭建完整python自动化测试框架(UI自动化和接口自动化 )——持续更新

    目录 一 总体框架 二 PO模式 DDT数据驱动 关键字驱动 三 框架技术选择 四 框架运行结果 五 各用例对应的定义方式 PO DDT 六 API接口定义方式 七 测试执行结果 从零开始搭建项目 一 开发环境搭建 二 新建项目 三 基础功
  • 软件测试分类、分级与软件缺陷管理

    软件测试分类与分级 4 1软件测试分类 4 1 1是否关心内部结构 1 白盒测试 白盒测试一般是静态测试 注重于内部结构 又称为结构测试或逻辑驱动测试 是一种按照程序内部逻辑结构和编码结构设计测试数据并完成测试的一种测试方法 2 黑盒测试
  • 回复上一篇文章,RuntimeError: CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling cublasCreate(handle)成功解决

    回应自己的上一篇文章地址在这 花了两天时间 找了各种方法 各种案例 以及各种的尝试 修改了很多次 也尝试用CPU去跑 后面发现还是跑不起来这个数据集 我罗列一部分方法 方法一 改batch size 的值 有的人问题就是这个 方法二 系统的