跑代码遇到问题汇总

解决Linux下Python运行时numpy版本问题与TensorFlow导入难题

查看numpy的版本

在这里插入图片描述
    基本查看python的任何的包的版本都可以使用这个方法。

ValueError: Parent directory of 路径 doesn’t exist

    完整错误信息:ValueError: Parent directory of I:\代码\老师发的代码\EvoNet-master\EvoNet-master\model\ETNet_djia30_30\model doesn't exist, can't save
    参考博客说是tensorflow保存训练数据时报错,即将绝对路径修改为相对路径:

下面是我的代码:

self.saver.save(sess, os.path.join(path, save_model_name, 'model')) #这个路径是绝对路径

debug进main函数找寻一下这个path在哪里,找到了,它修改为相对路径。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pip更新出错

    执行命令,结果到半路把pip删了,然后报错说打不开环境下的scrapts下的pip-script.py文件

pip install --upgrade pip

解决方案用conda安装

conda install -n python36 pip==21.3.1

稳妥命令

pip install --user --upgrade pip

其他pip安装错误参考下面这个文章
Python中pip更新方法

ModuleNotFoundError: No module named ‘tensorflow.keras.models’

这个问题是importkeras的路劲不对。
在这里插入图片描述
tensorflow版本的不一样,keras出现的位置会不一样,可能在tensorflowpython下,我的tensorflow的位置在:D:\anaconda3\envs\python36\Lib\site-packages
在这里插入图片描述

方法一

    调用环境下的keras,直接用命令pip install keras==2.0.6安装一个keras,但是要注意版本的匹配问题,参考博客tensorflow和keras的版本匹配。然后修改from tensorflow.kerasfrom keras

源代码 from tensorflow.keras.models import Model, model_from_json  
修改后的代码 from keras.models import Model, model_from_json

方法二

    调用tensorflow里面的keras,找到需要调用的keras的位置tensorflow.python.keras

from  tensorflow.keras.x import y  #直接修改
修改为 from tensorflow.python.keras.x import y

#先修改上面的,如果这里报错的话可以这样修改下import tensorflow.keras.backend as K  #as语句修改一下引入的语句
修改为 from tensorflow.python.keras import backend as K

github代码运行出错

如果跑的是作者的原代码和原数据,一般都是因为版本问题或者配置文件的数据不匹配导致的。

使用aconda prompt到路径上去执行redeme的命令。
在这里插入图片描述
在这里插入图片描述
修正报的错。重新安装应的Python的版本和tensorflow的版本。
在这里插入图片描述
然后sublime运行和aconda prompt运行结果都是这个错误。ValueError: too many values to unpack (expected 3)在这里插入图片描述
在这里插入图片描述
环境没问题,查看这个博客ValueError: too many values to unpack,是数据不匹配的问题,然后发现我应该跑run而不是run_test,轻易不要去怀疑作者的思路是不是有问题。

### 如何配置和优化深度学习代码以使用 GPU 加速 #### 1. 安装必要的软件和驱动程序 为了使深度学习框架能够充分利用 GPU 的计算能力,必须先安装合适的 NVIDIA 显卡驱动、CUDA 工具包以及 cuDNN 库。对于基于 Ubuntu 的系统,可以参考详细的安装教程[^2];而对于 CentOS 用户,则有专门针对该操作系统的指南[^3]。 - **NVIDIA 驱动**: 确保已安装最新版本的 NVIDIA 图形驱动程序,这是支持 CUDA 和其他 GPU 计算功能的基础。 - **CUDA Toolkit**: 提供开发者访问 GPU 所需的核心 API 及工具链集合。 - **cuDNN Library**: 包含经过高度优化的基元 (primitives),专用于加速神经网络中的常见运算。 #### 2. 设定可见的 GPU 数量与编号 通过设置 `CUDA_VISIBLE_DEVICES` 环境变量,可以让应用程序仅识别特定的一组物理 GPUs 或者重新排列它们逻辑上的次序。这不仅有助于控制资源分配给哪个进程,而且简化了跨不同机器部署相同的脚本时可能遇到的一些复杂情况[^1]。 ```bash export CUDA_VISIBLE_DEVICES=0,1 # 假设要启用第0号和第1号GPU ``` #### 3. 利用多 GPU 并行处理提升性能 当单张显卡不足以满足大规模模型训练需求时,可以通过如下方式实现分布式计算: - 使用 PyTorch 中内置类 `torch.nn.DataParallel` 对现有模块进行封装,从而让前向传播阶段的数据被分割成若干份分别交给各个子设备独立完成后再汇总结果[^1]; ```python model = torch.nn.DataParallel(model) if torch.cuda.is_available(): model.to('cuda') ``` 需要注意的是,在实际应用过程中可能会因为批次大小等因素影响最终效果,因此建议结合具体场景调整策略。 #### 4. 数据预取机制改善 IO 效率 除了硬件层面之外,合理安排输入管道同样重要。适当增加 DataLoader 构造器里的 num_workers 参数值能有效缓解主机 CPU 成为瓶颈的风险,进而加快整个流程运转速度[^1]。 ```python train_loader = torch.utils.data.DataLoader(dataset=train_dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=8) # 根据实际情况设定线程数 ``` --- ###
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值