解决使用pycharm安装keras-tuner后tensorflow-gpu 2.5.0无法使用的问题

article/2025/9/26 16:40:14

解决方法

以下是我的解决方法,亲测可行,不过有点麻烦。

创建新的环境,再次安装tensorflow-gpu 2.5.0,但在之前先安装keras-tuner

conda create -n new_tensorflow python=3.8
进入该环境
conda activate new_tensorflow
下载安装cudatoolkit和cudnn
conda install cudatoolkit=11.2
conda install cudnn=8.1
安装keras-tuner最新版

这里注意一定要使用命令行pip安装,不要在pycharm里安装!!!!!

pip install keras-tuner

安装tensorflow-gpu 2.5.0

pip install tensorflow-gpu==2.5.0

等待后,验证是否安装成功,输入python,进入python对话框

python
import tensorflow as tf
tf.test.is_gpu_available()

成功后的打印结果。
在这里插入图片描述
至此,问题已解决

--------------------------------------------------

踩坑过程

最近想使用keras-tuner优化网络的超参数,但是我在pycharm安装完keras-tuner后,按照keras-tuner官网(https://keras.io/keras_tuner/)给出的事例代码写好程序,满怀期待想要看到结果,运行后却发现报错:
ImportError: cannot import name ‘tf2’ from ‘tensorflow.python’ (unknown location)
苦恼不已,一开始我以为是keras_tuner安装失败,后来搜索报错提示后发现是因为Keras版本和Tensorflow版本不对,我的初步想法是Keras_tuner版本和我当前的tensorflow-gpu2.5.0版本不对应,我找遍了全网也没找到这两者的对应关系,无奈只好删除之前辛辛苦苦创建好的tensorflow-gpu2.5.0的环境,再次利用Anaconda Navigator创建了一个新的环境,查看cudatoolkit、cudnn和tensorflow-gpu 2.5.0的对应关系。
查看版本驱动

nvida-smi

结果图
在这里插入图片描述
cudatoolkit、cudnn和tensorflow-gpu 2.5.0的对应关系

在这里插入图片描述

安装好了tensorflow-gpu2.5.0后,我再次在pycharm中安装低版本keras-tuner 1.0.3,安装完毕,再次运行程序,依旧报错。
ImportError: cannot import name ‘tf2’ from ‘tensorflow.python’ (unknown location)

问题原因

输入conda list

conda list

发现我的环境里居然有两个版本的tensorflow,一个是tensoeflow-gpu2.5.0 还有一个是tensorflow 2.3.0
问题就在这里
其实在pycharm里安装keras-tuner是,查看详情会发现,它会自动帮你安装tensorflow 2.3.0
于是,我再次创建新的环境,以防万一,在安装tensorflow之前,安装keras-tuner。

备注

安装cudatoolkit、cudnn之前,一定要查看对应关系,本人安装的是tensorflow-gpu 2.5.0版本的。

其他的解决方案(本人没用到)

在github上查到的。

我目前的修复:

安装keras-tuner's依赖项:

terminaltables==3.1.0
tabulate==0.8.6
tqdm==4.41.1
colorama==0.4.3

然后安装 keras-tuner:

pip install -U --no-deps keras-tuner

--------------------------------------

创作不易,如对您有用,给个赞再走。


http://chatgpt.dhexx.cn/article/hUhlaG4r.shtml

相关文章

MATLAB/simulink中PID Tuner工具箱(APP)

MATLAB学习笔记系列第五篇了,这一篇重点讲一下pid tunner的使用。上一篇讲的是控制系统,MathWorks官方MATLAB/Simulink基础入门视频教程 笔记(控制系统) 那个课程到上一篇就已经完结了,这一篇主要是实际使用过程中的情…

MATLAB中关于PID的调参simulink中PID Tuner工具箱的使用

目录 一、在matlab(r2018a)中导入已知的数学模型 二、打开PID Tuner模型的命令: 三、将数学模型导入到PID Tuner中 使用PID Tuner对simulink里的PID控制器进行调参 已知数学模型为 一、在matlab(r2018a)中…

如何在 Simulink 中使用 PID Tuner 进行 PID 调参?

作者 | 安布奇责编 | 胡雪蕊出品 | CSDN(ID: CSDNnews)本文为一篇技术干货,主要讲述在Simulink如何使用PID Tuner进行PID调参。 PID调参器( PIDTuner)概述 1.1 简介 使用PID Tuner可以对Simulink模型中的PID控制器&…

使用Keras Tuner进行自动超参数调优的实用教程

在本文中将介绍如何使用 KerasTuner,并且还会介绍其他教程中没有的一些技巧,例如单独调整每一层中的参数或与优化器一起调整学习率等。Keras-Tuner 是一个可帮助您优化神经网络并找到接近最优的超参数集的工具,它利用了高级搜索和优化方法&am…

AI4DB:openGauss人工智能参数调优之X-Tuner

X-Tuner:参数调优与诊断 一、概述 二、使用准备 三、使用示例 四、获取帮助 五、命令参考 六、常见问题处理 一、概述 增量物化视图可以对物化视图增量刷新,需要用户手动执行语句完成对物化视图在一段时间内的增量数据刷新。与全量创建物化视图的不…

5G时代芯片之王——射频芯片

目录 什么是射频芯片? 射频芯片市场 竞争格局 什么是射频芯片? 射频( RF , Radio Frequency) , 表示可以辐射到空间的电磁频率, 频率范围从300kHz~300GHz之间。射频是一种高频交…

Tuner及工作原理介绍

Tuner的介绍 Tuner是什么? 为了提高电视信号的传输效率,减少于扰,电视信号通常都采用射频(RF)信号传输方式,即把要传输的视频或音频信号调制(作幅度调制AM或频率调制FM)到频率较高的射频载波上,从发信端发送出去&…

ADG架构搭建3 -- 一主一备ADG主备切换

本文接该系列文章的上一篇:ADG架构搭建2 – 搭建一主一备ADG架构 前言 Oracle Dataguard的角色转换包含两类:Switchover和Failover。Switchover指主备之间角色转换,主库降为备库,备库升级为主库。而failover则是指主库出现问题时…

RAC+ADG(单节点ADG)

RACADG有两种存储数据文件的形式,一个是将DG的数据文件放在ASM上,另一个是将数据文件放在本地磁盘上 本实验做的是数据放在本地磁盘上。 在搭建RACDG之前,请确保RAC是没有问题的 1.检查集群状态 grid用户下执行: crsctl status r…

ADG架构搭建1--Oracle安装

本系列文章将会带领大家从零完成一个Oracle ADG架构的搭建。 本片文章为系列文章的第一篇。 前言 本文将带领大家完成两台服务的Oracle安装。 正文 版本说明: Oracle版本 Oracle Database 12c Release 1 (12.1.0.2.0) - Enterprise Edition 操作系统版本 Red Hat …

Oracle ADG 与 DG 的区别

首先,DG(Data Guard,数据卫士)不是一个备份恢复的工具,然而,DG却拥有备份的功能,在物理DG下它可以和主库一模一样,但是它存在的目的并不仅仅是为了备份恢复数据,应该说它…

ADG架构搭建5 -- 一主两备ADG主备切换

本文接该系列文章的上一篇:ADG架构搭建4 – 搭建一主两备ADG架构 前言 在《ADG架构搭建3 – 一主一备ADG主备切换》一文中,已经带领大家完成了一主一备ADG的主备切换,相信大家对该部分内容已有所了解。本文将对《ADG架构搭建4 – 搭建一主两…

第一章 ADG基本知识

Oracle Data Guard 配置可以包含一个主数据库和多达 30 个目标。 备用数据库是主数据库的事务一致副本。 当主数据库是 CDB 时,代理配置中的所有备用数据库也必须是 CDB。 备用数据库的类型如下: 物理备用数据库 提供物理上相同的主数据库副本&#xf…

完成端口使用总结

前言 本文不是全面介绍完成端口的,只是简单介绍了一下完成端口和几个常用概念。本文主要关注完成端口关闭时资源释放问题。 基础介绍 完成端口——可能是Win32下最复杂的一种I/O模型,Win32下最复杂的内核对象。它通过指定数量的线程对重叠I/O请求进行管理,以便为已经完成的…

WinSock完成端口I/O模型

关于重叠I/O,参考《WinSock重叠I/O模型》;关于完成端口的概念及内部机制,参考译文《深度探索I/O完成端口》。 完成端口对象取代了 WSAAsyncSelect 中的消息驱动和 WSAEventSelect 中的事件对象,当然完成端口模型的内部机制要比 WS…

Windows 完成端口编程

Windows 完成端口编程 本文为转载, 原文地址: http://xingzhesun.blogbus.com/logs/3925649.html Table of Contents 1 基本概念 2 OVERLAPPED数据结构 3 完成端口的内部机制 3.1 创建完成端口 3.2 完成端口线程的工作原理 3.3 线程间数据传递 3.4 线程的安全退出 1 基本…

完成端口IOCP详解

本系列里完成端口的代码在两年前就已经写好了,但是由于许久没有写东西了,不知该如何提笔,所以这篇文档总是在酝酿之中……酝酿了两年之后,终于决定开始动笔了,但愿还不算晚….. 这篇文档我非常详细并且图文并茂的介绍了…

Win socket编程--IOCP完成端口模型

引言 要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响…

深度探索I/O完成端口

引言 要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响…

Windows中I/O完成端口机制详解

Windows中I/O完成端口机制详解 引言 要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么…