UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\cb\pytorch_1000000000000\work\aten\src\ATen\native\TensorShape.cpp:3484.) return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]

时间: 2023-08-16 22:11:26 浏览: 59
这个警告是由于在调用 `torch.meshgrid` 函数时没有传递 `indexing` 参数引起的。在未来的版本中,将要求必须传递 `indexing` 参数。 为了解决这个警告,你可以在调用 `torch.meshgrid` 函数时显式地传递 `indexing` 参数。`indexing` 参数接受一个字符串作为值,可以是 `"ij"` 或 `"xy"`,用于指定返回值的坐标顺序。 例如,你可以这样调用 `torch.meshgrid` 并传递 `indexing` 参数: ```python x, y = torch.meshgrid(tensors, indexing='ij') ``` 如果你不确定使用哪个值,可以查看你的代码中对 `x` 和 `y` 的后续使用,以确定正确的坐标顺序。 记住,警告并不会导致代码运行失败,但在未来的版本中可能会成为错误。为了保持代码的可移植性和稳定性,建议在调用 `torch.meshgrid` 时始终传递 `indexing` 参数。
相关问题

userwarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (triggered internally at c:\cb\pytorch_1000000000000\work\aten\src\aten\native\tensorshape.cpp:2228.) return _vf.meshgrid(tensors, **kwargs) # type

### 回答1: 此警告信息提示在即将发布的更新版本中,需要传递索引参数,否则会触发警告信息。该信息是在pytorch的源代码里的tensorshape.cpp文件的2228行处触发的。操作方法为,使用_vf.meshgrid函数来操作tensors,并传递**kwargs参数(即键值对参数)。 ### 回答2: 这个warning告诉我们,在将来的pytorch版本中,调用torch.meshgrid函数时,必须要传递一个indexing参数。这个参数是用来确定生成网格的方式的。 torch.meshgrid函数是用来生成一个坐标网格的,它接受任意维度的tensor作为输入,然后输出相应维度的坐标网格。例如,如果我们有两个一维tensor x=[1,2,3]和y=[4,5,6],我们可以使用torch.meshgrid(x,y)来生成两个2维tensor X和Y,使得X[i][j]=x[i]和Y[i][j]=y[j]。这样,我们就可以在坐标系中使用(X[i][j], Y[i][j])表示一个点。 这个warning提示我们,从现在开始,使用torch.meshgrid函数时我们需要传递一个indexing参数。这个参数有两个可选值:'ij'和'xy'。如果我们传递'ij',则输出网格的第一维度代表x,第二维度代表y,这和上面的例子是一样的。如果我们传递'xy',则第一维度代表y,第二维度代表x。 在pytorch中,我们可以通过在调用torch.meshgrid函数时传递indexing参数来实现不同方式的坐标网格生成。例如,如果我们想要生成y为第一维度,x为第二维度的坐标网格,我们可以这样调用: ```python import torch x = torch.Tensor([1,2,3]) y = torch.Tensor([4,5,6]) X,Y = torch.meshgrid(x,y, indexing='xy') print(X) print(Y) ``` 输出结果为: ```python [[4., 5., 6.], [4., 5., 6.], [4., 5., 6.]] [[1., 1., 1.], [2., 2., 2.], [3., 3., 3.]] ``` 可以看到,我们得到了想要的坐标网格。因此,从现在开始,在调用torch.meshgrid函数时,一定要不忘记传递indexing参数。 ### 回答3: 这个警告信息来源于PyTorch的torch.meshgrid函数。在新的版本中,调用这个函数时需要传递一个indexing参数。这个参数指明了坐标轴的顺序。 这个函数是用来生成一个笛卡尔积场景的,比如我们有两个维度x和y,每个维度有3个值,那么我们可以使用meshgrid函数生成9个(x,y)元组组成的场景,即(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)。 在旧版本中,meshgrid函数默认的坐标轴的顺序是按照输入张量的顺序,比如我们输入两个张量x和y,那么生成的场景的顺序就是按照x和y的顺序。但是,在新版本中,这个默认的顺序将被替换成按照输入张量的排列顺序排列坐标轴。 这个新的特性主要是为了解决与Numpy兼容性问题。Numpy的meshgrid函数默认的坐标轴的顺序就是按照输入张量的排列顺序排列坐标轴。如果我们想在PyTorch中使用Numpy的模型或者使用PyTorch模型生成的数据在Numpy中使用,那么需要使用与Numpy一样的坐标轴顺序,这个新的特性就是为此而引入的。 在调用meshgrid函数时,建议我们也应该传递indexing参数以保证我们的代码在新的版本中可以正常运行。

D:\AI\anacon\lib\site-packages\torch\functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\TensorShape.cpp:3484.) return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined]

这是一个关于 PyTorch 库中的一个警告信息,提示未来版本中需要传入 indexing 参数。该警告信息是由于在 PyTorch 库中的 TensorShape.cpp 文件的某个部分触发的。meshgrid 函数是用于生成一个多维网格的函数,它的作用是将多个向量中的数据组合成一个网格,方便进行计算和可视化。如果你使用了该函数,需要注意参数传递的方式,具体可以查看 PyTorch 的官方文档。

相关推荐

分析错误信息D:\Anaconda3 2023.03-1\envs\pytorch\lib\site-packages\torch\functional.py:504: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at C:\actions-runner\_work\pytorch\pytorch\builder\windows\pytorch\aten\src\ATen\native\TensorShape.cpp:3484.) return _VF.meshgrid(tensors, **kwargs) # type: ignore[attr-defined] Model Summary: 283 layers, 7063542 parameters, 7063542 gradients, 16.5 GFLOPS Transferred 354/362 items from F:\Desktop\yolov5-5.0\weights\yolov5s.pt Scaled weight_decay = 0.0005 Optimizer groups: 62 .bias, 62 conv.weight, 59 other Traceback (most recent call last): File "F:\Desktop\yolov5-5.0\train.py", line 543, in <module> train(hyp, opt, device, tb_writer) File "F:\Desktop\yolov5-5.0\train.py", line 189, in train dataloader, dataset = create_dataloader(train_path, imgsz, batch_size, gs, opt, File "F:\Desktop\yolov5-5.0\utils\datasets.py", line 63, in create_dataloader dataset = LoadImagesAndLabels(path, imgsz, batch_size, File "F:\Desktop\yolov5-5.0\utils\datasets.py", line 385, in __init__ cache, exists = torch.load(cache_path), True # load File "D:\Anaconda3 2023.03-1\envs\pytorch\lib\site-packages\torch\serialization.py", line 815, in load return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args) File "D:\Anaconda3 2023.03-1\envs\pytorch\lib\site-packages\torch\serialization.py", line 1033, in _legacy_load magic_number = pickle_module.load(f, **pickle_load_args) _pickle.UnpicklingError: STACK_GLOBAL requires str Process finished with exit code 1

最新推荐

基于CIM的智慧园区解决方案【36页PPT】.pptx

基于CIM的智慧园区解决方案【36页PPT】.pptx

torchvision-0.9.1+cpu-cp36-cp36m-linux_x86_64.whl.zip

torchvision-0.9.1+cpu-cp36-cp36m-linux_x86_64.whl.zip

torchvision-0.7.0-cp37-cp37m-macosx_10_9_x86_64.whl.zip

torchvision-0.7.0-cp37-cp37m-macosx_10_9_x86_64.whl.zip

java之简单的网上商城项目

网络商城项目是第一个JAVAWEB项目,适合初学者练手。 没有使用框架,采用servlet和JDBC进行开发 sql文件夹里存放的是mysql建表,src文件夹里的是java代码,WEBCONTENT里的是页面。 实现了用户的注册、邮件激活、登陆、支付、商品的添加搜索和显示等功能

torchvision-0.8.2+cpu-cp39-cp39-linux_x86_64.whl.zip

torchvision-0.8.2+cpu-cp39-cp39-linux_x86_64.whl.zip

基于HTML5的移动互联网应用发展趋势.pptx

基于HTML5的移动互联网应用发展趋势.pptx

混合神经编码调制的设计和训练方法

可在www.sciencedirect.com在线获取ScienceDirectICTExpress 8(2022)25www.elsevier.com/locate/icte混合神经编码调制:设计和训练方法Sung Hoon Lima,Jiyong Hana,Wonjong Noha,Yujae Songb,Sang-WoonJeonc,a大韩民国春川,翰林大学软件学院b韩国龟尾国立技术学院计算机软件工程系,邮编39177c大韩民国安山汉阳大学电子电气工程系接收日期:2021年9月30日;接收日期:2021年12月31日;接受日期:2022年1月30日2022年2月9日在线发布摘要提出了一种由内码和外码组成的混合编码调制方案。外码可以是任何标准的二进制具有有效软解码能力的线性码(例如,低密度奇偶校验(LDPC)码)。内部代码使用深度神经网络(DNN)设计,该深度神经网络获取信道编码比特并输出调制符号。为了训练DNN,我们建议使用损失函数,它是受广义互信息的启发。所得到的星座图被示出优于具有5G标准LDPC码的调制�

利用Pandas库进行数据分析与操作

# 1. 引言 ## 1.1 数据分析的重要性 数据分析在当今信息时代扮演着至关重要的角色。随着信息技术的快速发展和互联网的普及,数据量呈爆炸性增长,如何从海量的数据中提取有价值的信息并进行合理的分析,已成为企业和研究机构的一项重要任务。数据分析不仅可以帮助我们理解数据背后的趋势和规律,还可以为决策提供支持,推动业务发展。 ## 1.2 Pandas库简介 Pandas是Python编程语言中一个强大的数据分析工具库。它提供了高效的数据结构和数据分析功能,为数据处理和数据操作提供强大的支持。Pandas库是基于NumPy库开发的,可以与NumPy、Matplotlib等库结合使用,为数

appium自动化测试脚本

Appium是一个跨平台的自动化测试工具,它允许测试人员使用同一套API来编写iOS和Android平台的自动化测试脚本。以下是一个简单的Appium自动化测试脚本的示例: ```python from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '9' desired_caps['deviceName'] = 'Android Emulator' desired_caps['appPackage']

智能时代人机交互的一些思考.pptx

智能时代人机交互的一些思考.pptx