运行darts python train_search.py --unrolled

本文探讨了Python 3.7中CUDA异步调用的变化,即移除了async关键字并引入了non_blocking参数。提供了如何在PyTorch中正确使用cuda()函数的指导,包括使用non_blocking参数进行异步操作的细节。
部署运行你感兴趣的模型镜像

出现错误:

python 版本:

解决方法:https://blog.youkuaiyun.com/m0_37644085/article/details/92780697

原因:

  • python3.7已经移除了async关键字,而用non_blocking代替。(导致apache-airflow也出了问题)
  • cuda() 本身也没有async. 构造函数如下:

    cuda(device=None, non_blocking=False) → Tensor

 

解决办法:

  • 直接用cuda()
  • async_ 代替
  • 用non_blocking代替。ps:两个关键字(device and non_blocking)可以用来调用cuda( ) ,device是选取显卡序列号的。
    • non_blocking (bool):
      If True and the source is in pinned memory, the copy will be asynchronous with respect to the host. Otherwise, the argument has no effect. Default: False.
    • 如果为True且源位于锁定内存中,则副本将与主机异步。 否则,参数无效。 默认值:False。Always good to take a look at the Documentation:
  • 更新 Pipenv。 pip install pipenv  https://github.com/quark0/darts/pull/25 

https://pytorch.org/docs/stable/tensors.html#torch.Tensor.cuda 

 

我的解决方法:pip install pipenv

 直接使用cuda() 解决了这个问题

 

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

import pandas as pd from darts import TimeSeries from darts.models import NHiTSModel from darts.dataprocessing.transformers import Scaler # 读取Excel文件 data = pd.read_excel(r"C:\Users\25391\Desktop\数据集\碳排放预测数据集\每日碳排放量数据集\data.xlsx") # 将日期列转换为日期时间类型 data['Date'] = pd.to_datetime(data['Date']) # 创建时间序列对象 target_series = TimeSeries.from_dataframe(data, time_col='Date', value_cols='CO2 (Kt)') covariate_series = TimeSeries.from_dataframe(data, time_col='Date', value_cols='Sector') # 数据标准化 scaler_target = Scaler() scaler_covariate = Scaler() target_series_scaled = scaler_target.fit_transform(target_series) covariate_series_scaled = scaler_covariate.fit_transform(covariate_series) # 拆分训练集和测试集 train_target, test_target = target_series_scaled.split_before(0.8) train_covariate, test_covariate = covariate_series_scaled.split_before(0.8) # 创建N - HiTS模型 model = NHiTSModel( input_chunk_length=24, output_chunk_length=12, random_state=42 ) # 训练模型 model.fit( series=train_target, past_covariates=train_covariate, epochs=50 ) # 进行预测 prediction = model.predict( n=len(test_target), past_covariates=covariate_series_scaled ) # 反标准化预测结果 prediction = scaler_target.inverse_transform(prediction) # 打印预测结果 print(prediction) 上述代码存在ValueError: The time index is missing the `freq` attribute, and the frequency could not be directly inferred. This probably comes from inconsistent date frequencies with missing dates. If you know the actual frequency, try setting `fill_missing_dates=True, freq=actual_frequency`. If not, try setting `fill_missing_dates=True, freq=None` to see if a frequency can be inferred. 问题,该如何修改?
最新发布
10-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值