运行tesorflow代码出现显卡不足

运行tesorflow代码出现显卡不足出现如下错误

2019-06-13 09:37:18.789283: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 000000030614C200 of size 256
2019-06-13 09:37:18.789416: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 000000030614C300 of size 256
2019-06-13 09:37:18.789547: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 000000030614C400 of size 256
2019-06-13 09:37:18.789679: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 000000030614C500 of size 6912
2019-06-13 09:37:18.789813: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 000000030614E000 of size 6912
2019-06-13 09:37:18.789951: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 000000030614FB00 of size 6912
2019-06-13 09:37:18.790090: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 0000000306151600 of size 6912
2019-06-13 09:37:18.790229: I T:\src\github\tensorflow\tensorflow\core\common_runtime\bfc_allocator.cc:665] Chunk at 

查看了网上错误的原因如下:
报错原因:显卡内存不够;
解决办法:
报错原因:显卡内存不够;

解决办法:

  1. 首先查看显卡占用情况,有可能是显卡内存被别的程序占用没有退出,可以后台查看;
  2. 排除第一种情况之后,考虑:bath_size可能设置过大,可以适当调小。

1.然后我试了一下将batch_size逐渐降低,从128降到32,但是发现代码运行一段时间还是不行并且出现上面的错误。

2.将sess = tf.Session(config=sess_config) 更改为
sess_config = tf.ConfigProto() sess_config.gpu_options.per_process_gpu_memory_fraction = 0.4
sess = tf.Session(config=sess_config)

最后发现还是出错,最后检查发现是保存的节点信息所占的内存过多,我是反复训练了多个episode,因为迭代训练多次所以保存了好多图节点如下图所示,所以最后将保存logs的代码删除就可以了。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用GPU运行Python代码需要安装CUDA和cuDNN等GPU相关的库,并且需要安装支持GPU的Python库,比如TensorFlow和PyTorch等。 以下是使用TensorFlow和PyTorch在GPU上运行Python代码的示例: 1. 使用TensorFlow在GPU上运行Python代码 ```python import tensorflow as tf # 指定使用GPU physical_devices = tf.config.list_physical_devices('GPU') tf.config.experimental.set_memory_growth(physical_devices[0], True) # 定义模型 model = tf.keras.Sequential([ tf.keras.layers.Dense(32, activation='relu', input_shape=(784,)), tf.keras.layers.Dense(10, activation='softmax') ]) # 编译模型 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # 加载数据 (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() # 数据预处理 x_train, x_test = x_train / 255.0, x_test / 255.0 # 训练模型 model.fit(x_train, y_train, epochs=5, validation_data=(x_test, y_test)) ``` 2. 使用PyTorch在GPU上运行Python代码 ```python import torch # 指定使用GPU device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 定义模型 model = torch.nn.Sequential( torch.nn.Linear(784, 32), torch.nn.ReLU(), torch.nn.Linear(32, 10), torch.nn.Softmax(dim=1) ) # 将模型放到GPU上 model.to(device) # 定义损失函数和优化器 criterion = torch.nn.CrossEntropyLoss() optimizer = torch.optim.Adam(model.parameters()) # 加载数据 train_dataset = torchvision.datasets.MNIST(root='./data', train=True, transform=torchvision.transforms.ToTensor(), download=True) train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=64, shuffle=True) # 训练模型 for epoch in range(5): for i, (inputs, labels) in enumerate(train_loader): # 将数据放到GPU上 inputs, labels = inputs.to(device), labels.to(device) # 前向传播 outputs = model(inputs) loss = criterion(outputs, labels) # 反向传播和优化 optimizer.zero_grad() loss.backward() optimizer.step() ``` 需要注意的是,使用GPU运行Python代码需要确保你的电脑上有支持GPU的硬件设备(例如NVIDIA的显卡),并且安装了相应的驱动程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值