解决在运行tensorflow出现警告的方法

警告

运行tensorflow时遇到了这样的问题:

Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
Creating new thread pool with default inter op setting: 2. Tune using inter_op_parallelism_threads for best performance.

大概意思是:你的CPU支持AVX扩展,但是你安装的TensorFlow版本无法编译使用。这个不是错误,只是一个警告,告诉你如果从源代码安装tensorflow,那么tensorflow会跑得更快。

原因

除了通常的算术和逻辑,现代CPU提供了许多低级指令,称为扩展,例如, SSE2,SSE4,AVX等来自维基百科:

高级矢量扩展(AVX)是英特尔在2008年3月提出的英特尔和AMD微处理器的x86指令集体系结构的扩展,英特尔首先通过Sandy Bridge处理器在2011年第一季度推出,随后由AMD推出Bulldozer处理器在2011年第三季度.AVX提供了新功能,新指令和新编码方案。
特别是,AVX引入了融合乘法累加(FMA)操作,加速了线性代数计算,即点积,矩阵乘法,卷积等。几乎所有机器学习训练都涉及大量这些操作,因此将会支持AVX和FMA的CPU(最高达300%)更快。该警告指出您的CPU确实支持AVX(hooray!)。

由于tensorflow默认分布是在没有CPU扩展的情况下构建的,例如SSE4.1,SSE4.2,AVX,AVX2,FMA等。默认版本(来自pip install tensorflow的版本)旨在与尽可能多的CPU兼容。另一个观点是,即使使用这些扩展名,CPU的速度也要比GPU慢很多,并且期望在GPU上执行中型和大型机器学习培训。

解决办法

  • 第一种解决方法是直接忽略警告,这种方法简单粗暴,但是实际上并没有解决问题,在代码中加入如下两句即可:
import os 
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
  • 第二种方法就是麻烦的用源代码安装tensorflow
### 解决 Jupyter Notebook 运行 TensorFlow 内核崩溃的方法 当遇到 Jupyter Notebook 中运行 TensorFlow 导致内核崩溃的情况时,可以按照以下方法来排查和解决问题。 #### 创建新的虚拟环境并安装 TensorFlow 为了确保兼容性和稳定性,建议在一个全新的 Conda 虚拟环境中安装 TensorFlow: ```bash conda create -n tf tensorflow conda activate tf ``` 这一步骤有助于隔离其他可能引起冲突的包版本[^1]。 #### 启动 Jupyter Notebook 并配置内核 确认新环境已成功激活后,启动 Jupyter Notebook: ```bash jupyter notebook ``` 随后,在浏览器中打开的 Jupyter 页面里新建或编辑现有的 Python 笔记本文件,并切换到之前创建的新内核 `tf` 下工作[^2]。 #### 设置 GPU 使用情况与忽略警告信息 为了避免不必要的干扰以及更好地管理硬件资源分配,可以在代码开头加入如下设置语句: ```python import os os.environ["CUDA_VISIBLE_DEVICES"] = "0" import tensorflow as tf tf.compat.v1.disable_eager_execution() config = tf.compat.v1.ConfigProto() config.gpu_options.per_process_gpu_memory_fraction = 0.9 sess = tf.compat.v1.Session(config=config) # 忽略所有来自 TensorFlow 的未来弃用和其他类型的警告消息 import warnings warnings.filterwarnings('ignore') ``` 这些措施能够有效减少因显存不足或其他因素引发的异常终止现象发生概率[^3]。 #### 测试 TensorFlow 安装是否正常工作 最后通过简单的测试程序验证当前环境下 TensorFlow 是否能稳定运作: ```python hello = tf.constant('Hello, TensorFlow!') print(sess.run(hello)) ``` 如果一切顺利,应该可以看到输出字符串 `"Hello, TensorFlow!"`。此时说明 TensorFlow 已经被正确加载到了指定的计算设备上(CPU 或者 GPU),并且能够在不触发任何致命错误的情况下完成基本操作[^4]。 对于更复杂的应用场景下发生的特定问题,则需进一步分析具体原因所在;比如数据集处理不当、模型结构设计不合理等都可能导致类似的症状表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值