【Pytorch】解决使用BucketIterator.splits警告volatile was removed and now has no effect. Use `with torch.no_g

简介: 文章解决了在使用 PyTorch 的 BucketIterator.splits 时出现的关于 volatile 已移除的警告问题,并提供了解决方案,即分别使用 BucketIterator 对训练集和验证集进行封装。

问题

使用data.BucketIterator.splits去封装训练集和验证集,在遍历的时候出现警告UserWarning: volatile was removed and now has no effect. Use with torch.no_grad(): instead. return Variable(arr, volatile=not train)

from torchtext import data

train_iter,valid_iter= data.BucketIterator.splits((train_data,valid_data),
                                                    batch_size=batch_size,
                                                    sort_key=lambda x: len(x.text),
                                                    repeat=False,
                                                    shuffle=True)

with torch.no_grad():
    for idx, batch in enumerate(val_iter):# 在一行出现警告
        pass

解决

分开封装,不用data.BucketIterator.splits而是用data.BucketIterator

from torchtext import data
train_iter = data.BucketIterator((train_data), batch_size=batch_size,
                                sort_key=lambda x: len(x.text),
                                repeat=False, shuffle=True)
valid_iter = data.BucketIterator((valid_data),
                                batch_size=batch_size,
                                sort_key=lambda x: len(x.text),
                                repeat=False,
                                shuffle=True)
目录
相关文章
|
7月前
|
机器学习/深度学习 存储 PyTorch
Pytorch中in-place操作相关错误解析及detach()方法说明
Pytorch中in-place操作相关错误解析及detach()方法说明
365 0
|
IDE PyTorch 网络安全
|
2月前
|
并行计算 TensorFlow 算法框架/工具
Tensorflow error(三):failed to get convolution algorithm,cuDNN failed to initialize
这篇文章讨论了TensorFlow在进行卷积操作时可能遇到的“failed to get convolution algorithm”错误,通常由于cuDNN初始化失败引起,并提供了几种解决方案,包括调整GPU内存使用策略和确保CUDA、cuDNN与TensorFlow版本兼容性。
71 1
Tensorflow error(三):failed to get convolution algorithm,cuDNN failed to initialize
|
存储 PyTorch 算法框架/工具
Error(s) pytorch 加载checkpoint state_dict出错:Missing key(s) && Unexpected key(s) in state_dict
Error(s) pytorch 加载checkpoint state_dict出错:Missing key(s) && Unexpected key(s) in state_dict
714 0
Error(s) pytorch 加载checkpoint state_dict出错:Missing key(s) && Unexpected key(s) in state_dict
|
4月前
|
TensorFlow API 算法框架/工具
【Tensorflow】解决Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Te
文章讨论了在使用Tensorflow 2.3时遇到的一个错误:"Inputs to eager execution function cannot be Keras symbolic tensors...",这个问题通常与Tensorflow的eager execution(急切执行)模式有关,提供了三种解决这个问题的方法。
45 1
|
6月前
|
并行计算 监控 前端开发
函数计算操作报错合集之如何解决报错:RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0!
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
244 2
|
6月前
|
并行计算 监控 Java
函数计算操作报错合集之遇到报错:RuntimeError: Expected all tensors to be on the same device,是什么原因
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
396 1
|
PyTorch 算法框架/工具
Pytorch中Trying to backward through the graph和one of the variables needed for gradient错误解决方案
Pytorch中Trying to backward through the graph和one of the variables needed for gradient错误解决方案
2185 0
Pytorch中Trying to backward through the graph和one of the variables needed for gradient错误解决方案
|
7月前
|
编译器 C语言
gcc编译警告:warning: suggest parentheses around assignment used as truth value
gcc编译警告:warning: suggest parentheses around assignment used as truth value
362 0
|
机器学习/深度学习 PyTorch 算法框架/工具
# Pytorch 中可以直接调用的Loss Functions总结:(二)
# Pytorch 中可以直接调用的Loss Functions总结:(二)
167 0
# Pytorch 中可以直接调用的Loss Functions总结:(二)