引自免费微信小程序:皆我百晓生
看起来你在尝试启动BERT Serving时遇到了一些问题。根据你提供的信息,似乎程序没有报错,但也没有正常运行。这个问题可能由几个原因引起,包括环境配置、Python版本兼容性以及TensorFlow版本问题。
首先,针对那些FutureWarning,这是由于Numpy版本与TensorFlow版本之间的兼容性问题。这些警告不会影响BERT Serving的运行,但为了消除它们,你可以升级你的Numpy版本到最新版,或者在你的代码开始部分添加以下代码块:
import warnings
warnings.filterwarnings('ignore', category=FutureWarning)
接下来,关于BERT Serving卡住的问题,这里有几个步骤可以帮助你排查:
-
检查模型路径:
确保你指定的模型目录是正确的,并且包含了bertconfig.json
和bert_model.ckpt
文件。例如,你的模型目录应该是D:/cased_L-12_H-768_A-12/
。
-
更新TensorFlow版本:
尽管你正在使用TensorFlow 1.14.0,但某些版本的BERT Serving可能要求更高版本的TensorFlow。考虑升级到TensorFlow 2.x版本,这通常更稳定且支持更好的性能。安装方法可以参考官方文档:TensorFlow 2.x
-
清理环境:
如果你之前安装过不同版本的TensorFlow或其他相关库,可能会导致环境混乱。你可以尝试创建一个新的Python虚拟环境并仅安装必要的依赖项。
-
检查CPU参数:
使用 -cpu
参数表示使用CPU运行BERT Serving。确保你的系统有足够的CPU资源供BERT Serving使用。如果你有多个CPU核心,试试增加 -num_worker
参数的值(默认为4),看是否能提高性能。
-
查看日志输出:
检查BERT Serving的日志输出,它应该会告诉你更多关于为什么服务没有启动的信息。你可以在启动命令后面添加 --port 0
来让服务监听一个随机端口,这样你就可以通过浏览器访问服务器并查看错误信息。例如:
bert-serving-start --model_dir D:/cased_L-12_H-768_A-12 --num_worker=1 --cpu --port 0
然后打开浏览器,输入 http://localhost:<random_port>
,其中 <random_port>
是显示的服务实际监听的端口号。
- 重新安装依赖:
可能是因为某个库的版本冲突导致问题。尝试卸载当前的BERT Serving和相关依赖,然后重新安装最新的版本:
pip uninstall bert-serving-server bert-serving-client
pip install bert-serving-server==1.16.0 bert-serving-client==1.16.0
- 确保GPU可用:
虽然你已经指定了使用CPU,但确认一下你的环境中没有其他进程占用GPU资源,因为有时即使设置了
-cpu
,如果GPU可用,BERT Serving可能会自动切换到GPU。
如果以上步骤都不能解决问题,那么可能是你的环境配置或模型文件存在问题。在这种情况下,你可能需要提供更多的日志信息以便进一步分析。