optuna使用mysql数据库时提示no module named ‘MySQLdb‘

在使用Optuna进行超参优化并存储结果到MySQL时遇到'nomodulenamed'MySQLdb'错误。解决方法包括安装pymysql,修改sqlalchemy的mysqldb.py文件,添加缺失模块引用。此外,还提到了确保已安装MySQL客户端以及解决权限问题的链接。博主承诺在忙完论文后分享PyTorch加速和调参的实用技巧。
摘要由CSDN通过智能技术生成

optuna使用mysql数据库时提示no module named 'MySQLdb'

1、问题描述

使用超参搜索框架optuna做并行化搜索参数,利用mysql数据集存储搜索结果时,提示no module named 'MySQLdb’错误。报错代码如下:

optuna.create_study(storage="mysql://root@localhost/database", 
					study="xxx", 
					direction="maximize", load_if_exists=True)

系统版本:ubuntu18.04
Python版本:3.6

2、具体报错

在这里插入图片描述

3、解决方案

这个原因产生主要是因为在Python3中这个库改变了形式。按照下述方式可以解决。

  1. 在python中安装pymysql(pip install pymysql)

  2. 修改pymysql库中mysqldb.py文件,具体如下:
    找到your_python_path/site-packages/sqlalchemy/dialects/mysql/mysqldb.py,然后使用nodepad++或者IDE打开该文件,添加下图红色框的代码即可解决该问题。
    在这里插入图片描述

  3. 确定安装了mysql的客户端,若没安装,可以参考下述方式安装
    ubuntu18.04安装mysql

  4. 安装完成后如果提示ERROR1698(28000):Access denied for user "root@localhost"可以参考如下方式解决
    https://www.cnblogs.com/cpl9412290130/p/9583868.html

4、后续

最近一直在忙论文的事,没有时间更新博客,忙完论文会更新一些干货。例如PyTorch加速,加快训练速度,调参等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值