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

如何解决Jupyter Lab中导入Keras库时的TypeError错误?

解决Keras导入时的TypeError错误

问题原因

你遇到的TypeError: Descriptors cannot not be created directly错误,本质是protobuf版本冲突:你当前安装的protobuf版本过高(大概率是4.x以上),而你用的TensorFlow 2.12.0和Keras 2.10还不支持这么新的版本,新protobuf禁止了旧代码里创建描述符的方式,因此触发报错。

两种解决办法(初学者友好)

办法一:降级protobuf到兼容版本(推荐长期使用)

这是最稳妥的解决方式,步骤如下:

  1. 打开Anaconda Prompt(或者在Jupyter Lab菜单栏点File > New > Terminal打开终端)
  2. 如果代码在虚拟环境运行,先激活环境:conda activate 你的环境名称(用base环境则跳过)
  3. 执行降级命令:
pip install protobuf==3.20.3
  1. 关闭当前Jupyter Lab窗口,重新打开后运行代码即可解决问题。

办法二:临时切换到纯Python实现的protobuf(仅临时测试用)

这个方法不用修改版本,但会让代码运行速度变慢,适合临时救急:
在你的导入代码最前面加上两行环境变量设置,再导入其他库:

import os
os.environ['PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION'] = 'python'

# 以下是你原来的导入代码
import numpy as np
import os 
from keras.utils.np_utils import to_categorical
from PIL import Image
from sklearn.model_selection import train_test_split

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 10:32:37