美文网首页
pycharm中TensorFlow 2.x自动补全/跳转失败处

pycharm中TensorFlow 2.x自动补全/跳转失败处

作者: 井底蛙蛙呱呱呱 | 来源:发表于2024-08-14 09:59 被阅读0次

由于TensorFlow 2.x官方安装包的一些问题,在pycharm中无法进行自动补全以及点击跳转源码。

要解决这些问题,需要对源码做一些修改。分两步
1、修改site-packages/tensorflow/__init__.py中的以下代码,大约位于380~390行,源代码如下:

_keras_module = "keras.api._v2.keras"
keras = _LazyLoader("keras", globals(), _keras_module)
_module_dir = _module_util.get_parent_dir_for_name(_keras_module)
if _module_dir:
  _current_module.__path__ = [_module_dir] + _current_module.__path__
setattr(_current_module, "keras", keras)

修改为:

import typing as _typing
if _typing.TYPE_CHECKING:
  from keras.api._v2 import keras
else:
  _keras_module = "keras.api._v2.keras"
  _keras = _LazyLoader("keras", globals(), _keras_module)
  _module_dir = _module_util.get_parent_dir_for_name(_keras_module)
  if _module_dir:
    _current_module.__path__ = [_module_dir] + _current_module.__path__
  setattr(_current_module, "keras", _keras)

2、将/site-packages/keras/ 复制到 /site-packages/tensorflow/,或者另一种更好的方式,使用软连接:

ln -s <full-path-to-site-package>/site-packages/keras <full-path-to-site-package>/tensorflow/keras

做了如下更改后,进行Invalid Caches -> Invalidate and Restart。重启后便能解决绝大部分问题,但是依然有一些小问题,如from tensorflow.keras.layers import DenseFeatures会显示找不到DenseFeatures方法。但是直接使用tf.keras.layers.DenseFeatures显示没问题,点击也可以跳转源码,所以如果不嫌麻烦可以在代码中将前面的模块名称都写出来,如tf.keras.layers.DenseFeatures

参考: https://github.com/tensorflow/tensorflow/issues/53144

相关文章

  • pycharm无法自动补全

    我在使用的过程中发现我的main.py文件中无法自动补全和自动跳转,其他py文件可以正常补全和定义的跳转。经过一个...

  • pycharm补全很慢

    问题:使用pycharm2016.3时,TensorFlow等库补全很慢, 解决办法:使用2017.1呀

  • Pycharm自动补全

    用Pycharm写python的时候写到一下关键字、参数的时候,不会自动出现默认词了,很别扭,然后通过研究,原因是...

  • [Python] 初学常见问题收集

    python初学者经常碰到的问题收集. ▶ 如何在Pycharm中让python对象有自动补全(自动提示)功能 2...

  • TensorBoard的使用

    1.利用PyCharm创建TensorFlow程序(TensorFlow 1.1.0) 2.在PyCharm中运行...

  • python tips

    1. python的第三方库的方法在pycharm中不能自动补全,如何help python->help()-...

  • (3)pycharm 文件名自动补全插件

    一、shell 二、无pycharm 文件名自动补全插件[https://plugins.jetbrains.co...

  • PyCharm激活码

    前几天pycharm激活时间过期了,想着正好可以用用Notepad++,可能是习惯了pycharm 的自动补全,自...

  • Iterm2-ohmyzsh-常用插件安装

    oh-my-zsh 常用插件 1 自动跳转Finder、终端语法高亮、终端自动补全 (autojump|zsh-...

  • 没有NVIDIA显卡是否可以编译Tensorflow-GPU d

    Updated for tensorflow 2: Tensorflow 2.x There is no sepa...

网友评论

      本文标题:pycharm中TensorFlow 2.x自动补全/跳转失败处

      本文链接:https://www.haomeiwen.com/subject/imqskjtx.html