AutoDL中使用jupyter内核反复崩溃&gensim 和scipy版本问题

2024.7.9记录我跑实验遇到的问题:

1、autodl里面用jupyter notebook跑实验内核老是崩溃重启

2、崩溃重启之后就没有之前的变量了,后面的代码也会报错显示不认识这个变量。怎么解决?

3、导入错误:无法从“scipy.linalg”导入名称“triu”是gensim 和scipy版本对应问题,不对应根本运行不了,怎么解决,下载什么版本?

4、GPU为啥拉不起来?

解决办法

1、解决autodl里面用jupyter notebook跑实验内核崩溃重启

原因是:本人为了省钱用的无卡模式运行的,因为暂时用不上GPU,奈何文件太大了,无卡模式下内存只能使用2G,所以每次运行到这块代码内核一直崩溃。

正确做法:不要用无卡模式开机,因为读取的文件太大的话,无卡模式下的内存无法满足这个条件。

2、 在云端运行 Jupyter 内核时,如果内核终止,通常会丢失未保存的运行结果,如何解决?

本人遇到的情况是,我好不容易跑出的结果,存储到变量里面,结果内核关闭之后,变量也丢失了,后续的代码也不认识该变量,重新跑又需要很长时间。

解决办法:使用 Pickle 保存和加载数据

定期将中间结果保存到磁盘文件中,可以是CSV、JSON、Pickle等格式。这确保在内核终止后可以重新加载这些数据。将data替换为你所需要保存的变量即可,dump函数会在你的文件中查看有没有这个文件名,如果没有的话会自动构建。

#示例1
import pickle

# 保存数据到文件
def save_data(data, filename):
    with open(filename, 'wb') as f:
        pickle.dump(data, f)

# 从文件加载数据
def load_data(filename):
    with open(filename, 'rb') as f:
        return pickle.load(f)
# 在云端运行 Jupyter 内核时,如果内核终止,通常会丢失未保存的运行结果。
import pickle
# 将数据保存到 Pickle 文件
with open('accs.pkl', 'wb') as file:
    pickle.dump(accs, file)#dump如果没有找到这个pkl文件,会自己创建一个

print("accs 列表已保存到 accs.pkl")

3、解决导入错误:无法从“scipy.linalg”导入名称“triu”

原因:gensim 和scipy版本对应问题,不对应根本运行不了,按照网上其他做法,就算把scipy降低版本到scipy1.10.1也依旧会报错:

ImportError: cannot import name 'triu' from 'scipy.linalg' (/root/miniconda3/lib/python3.10/site-packages/scipy/linalg/__init__.py)

解决办法,在jupyter notebook里输入

!pip install gensim==4.3.2
!pip install scipy==1.7.2

参考链接:报错ImportError: cannot import name ‘triu‘ from ‘scipy.linalg‘_cannot import name 'triu' from 'scipy.linalg-CSDN博客

4、GPU为啥拉不起来?

一般只有开始训练模型或者跑模型结果的时候才会拉起GPU,不是运行任何代码都会调用到GPU,这个时候可以在性能监控里看到GPU跑起来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值