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跑起来了。

### 解决 Autodl 环境下 JupyterLab 访问时遇到的 404 错误 当在 AutoDL 平台上尝试通过浏览器访问 JupyterLab 出现 404 错误时,可能的原因包括但不限于配置文件错误、服务未正常启动或网络设置问题。以下是详细的排查方法: #### 验证 JupyterLab 是否已正确安装并启动 确保 JupyterLab 已经成功安装并且正在运行。可以通过命令行检查 JupyterLab 的状态: ```bash jupyter lab list ``` 如果显示没有任何活动的服务,则说明 JupyterLab 可能尚未启动。 #### 检查端口冲突服务地址 确认 JupyterLab 使用的端口号没有被其他应用占用,并验证 URL 地址是否正确。通常情况下,默认端口为 `8888` 或者更高编号的端口。可以在启动 JupyterLab 时指定不同的端口来避免潜在冲突: ```bash jupyter lab --port=9999 ``` #### 查看日志信息 查看 JupyterLab 启动的日志输出,寻找任何异常提示或警告信息。这些日志可以帮助定位具体原因所在。使用以下命令获取更多信息: ```bash jupyter server logs ``` #### 修改配置文件 有时默认配置不适合特定环境下的部署需求。编辑 `.jupyter/jupyter_notebook_config.py` 文件调整相关参数,比如允许跨域请求等特性以适应更复杂的网络状况。 #### 浏览器缓存清理 清除浏览器缓存后再试一次访问链接,防止旧版本网页影响新页面加载效果。 #### 安全组/防火墙规则设定 对于云服务平台而言,还需注意安全组策略以及本地防火墙设置是否阻止了外部对该端口的访问权限。适当开放所需端口范围内的入站流量可解决问题[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值