You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在PyCharm中使用TensorFlow遇弃用警告,求解决办法

解决PyCharm中TensorFlow的retry弃用警告问题

嘿,这个警告我太熟了!本质是你代码里依赖的tensorflow.contrib.learn模块里的retry函数已经被官方标记为弃用,接下来给你几个靠谱的解决办法,按推荐程度排序:

1. 替换为官方推荐的第三方retry库

这是最直接且符合官方建议的方案:

  • 先安装第三方库:
    pip install retry
    
  • 替换代码中的导入语句:
    把原来的
    from tensorflow.contrib.learn.python.learn.datasets.base import retry
    
    改成
    from retry import retry
    
  • 原有的装饰器用法基本兼容,比如你之前用@retry()或者带参数的@retry(tries=3, delay=1),都可以直接沿用,参数逻辑和旧版本一致。

2. 自己实现轻量重试逻辑

如果不想引入第三方依赖,可以手动写一个简单的重试装饰器:

import time
from functools import wraps

def custom_retry(tries=3, delay=1):
    """自定义重试装饰器,默认重试3次,每次间隔1秒"""
    def decorator(func):
        @wraps(func)
        def wrapper(*args, **kwargs):
            attempts = 0
            while attempts < tries:
                try:
                    return func(*args, **kwargs)
                except Exception as e:
                    attempts += 1
                    if attempts == tries:
                        # 最后一次失败则抛出原异常
                        raise e
                    time.sleep(delay)
        return wrapper
    return decorator

然后把代码里的@retry替换成@custom_retry()即可,还能根据自己的需求调整重试次数、间隔时间等参数。

3. 迁移到TensorFlow稳定API(根源解决)

tensorflow.contrib模块本身就是实验性质的,很多内容会被逐步移除。如果你的代码依赖了contrib.learn,可以考虑迁移到TensorFlow官方维护的稳定API:

  • 比如用tf.keras替代原有的高阶训练逻辑
  • 或者使用tf.estimator API,它是contrib.learn的替代方案,功能更稳定且长期维护

这样不仅能解决这个警告,还能避免未来其他contrib模块弃用带来的问题。

临时应急:屏蔽警告(不推荐)

如果只是暂时不想看到警告(不建议长期这么做,会错过重要的更新提示),可以在代码开头添加以下代码:

import tensorflow as tf
# 屏蔽TensorFlow的弃用警告
tf.compat.v1.logging.set_verbosity(tf.compat.v1.logging.ERROR)

或者用Python原生的警告控制:

import warnings
warnings.filterwarnings("ignore", category=DeprecationWarning)

内容的提问来源于stack exchange,提问作者Vrai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:30:19