CSDN无法登录,无法发布文章,无法进入博文管理解决

本来今天早上兴致勃勃,五点多就起来学习了,每次当你想努力的时候就会给你迎头棒击,这也是一个需要跨越的坎,或许有一天你冲破这些阻碍的时候,就不会失望了。
感觉这应该是一类问题,即网络正常,其他网站都能访问,就是某个网站访问出现问题,应该就是DNS,系统代理的问题,更换使用新的代理就可以了,总之代理是解决问题的方向,朝这个方向走就对了。

然后开始学习
这次是需要在TensorFlow的旧版本上做实验,所以需要安装1.x的版本,安装老版本,需要调查清楚TensorFlow版本与Python版本的对应。于是去TensorFlow官方网站查看
https://www.tensorflow.org/install/source_windows
里面非常详细
在这里插入图片描述
运行,报错

Traceback (most recent call last):
  File "C:/Python program/CloudSimPy-DRL/playground/DAG/launch_scripts/main-single-process.py", line 4, in <module>
    import tensorflow as tf
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\python\__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\core\framework\graph_pb2.py", line 16, in <module>
    from tensorflow.core.framework import node_def_pb2 as tensorflow_dot_core_dot_framework_dot_node__def__pb2
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\core\framework\node_def_pb2.py", line 16, in <module>
    from tensorflow.core.framework import attr_value_pb2 as tensorflow_dot_core_dot_framework_dot_attr__value__pb2
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\core\framework\attr_value_pb2.py", line 16, in <module>
    from tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\core\framework\tensor_pb2.py", line 16, in <module>
    from tensorflow.core.framework import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\tensorflow\core\framework\resource_handle_pb2.py", line 42, in <module>
    serialized_options=None, file=DESCRIPTOR),
  File "C:\Python program\CloudSimPy-DRL\venv\lib\site-packages\google\protobuf\descriptor.py", line 561, in __new__
    _message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates

就是tensorflow包和其所依赖的协议缓冲区(protobuf)存在问题。错误明确指出生成的代码已过时,需要使用protoc >= 3.19.0重新生成。
解决方案

  1. 重新生成协议:如果你拥有源.proto文件,可以使用protoc版本3.19.0或更新版本重新生成Python代码。这个过程将会更新生成的代码以匹配当前版本的protobuf。确保按照TensorFlow文档或你正在使用的代码库提供的说明进行操作。

  2. 降级protobuf:如果目前不方便重新生成协议,可以尝试将protobuf包降级到版本3.20.x或更低。可以使用诸如pip等包管理工具执行此操作。例如,你可以运行pip install protobuf==3.20.0来安装3.20.0版本。

  3. 设置PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python:另一种解决方法是将环境变量PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION设置为"python"。这将强制TensorFlow使用纯Python解析协议缓冲区,这可能会更慢,但可以帮助绕过该问题。在运行代码之前,设置环境变量即可。

OK了
所以,如果TensorFlow2.x改起来过于复杂或者没法改,索性你就使用TensorFlow1.x老版本,就是重新装一个虚拟环境的事情,也不复杂,比大量修改代码简单多了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值