每当从Tensorflow hub加载模型时,Colab内核都会重新启动

每当从Tensorflow hub加载模型时,Colab内核都会重新启动,tensorflow,tensorflow-hub,Tensorflow,Tensorflow Hub,我想尝试tensorflow hub中提供的嵌入,具体来说是“通用句子编码器”。我尝试了提供的例子() 而且效果很好。因此,我尝试对“多语言”模型进行同样的操作,但每次加载多语言模型时,colab内核都会失败并重新启动。问题是什么?我该如何解决 将tensorflow导入为tf 将tensorflow_hub导入为hub 将matplotlib.pyplot作为plt导入 将numpy作为np导入 导入操作系统 作为pd进口熊猫 进口稀土 导入seaborn作为sns 导入tf_语句块 进口句子

我想尝试tensorflow hub中提供的嵌入,具体来说是“通用句子编码器”。我尝试了提供的例子() 而且效果很好。因此,我尝试对“多语言”模型进行同样的操作,但每次加载多语言模型时,colab内核都会失败并重新启动。问题是什么?我该如何解决

将tensorflow导入为tf
将tensorflow_hub导入为hub
将matplotlib.pyplot作为plt导入
将numpy作为np导入
导入操作系统
作为pd进口熊猫
进口稀土
导入seaborn作为sns
导入tf_语句块
进口句子
#导入通用句子编码器的TF集线器模块
嵌入=集线器模块(“https://tfhub.dev/google/universal-sentence-encoder-multilingual/1“”//这是内核死亡的地方。
打印(“导入模型”)
#计算每条消息的表示形式,显示支持的各种长度。
字=”코끼리"
句子=”나는 한국어로 쓰여진 문장이야."
第段=(
"동해물과 백두산이 마르고 닳도록. "
"하느님이 보우하사 우리나라 만세~")
信息=[单词、句子、段落]
#减少日志输出。
设置详细性(tf.logging.ERROR)
使用tf.Session()作为会话:
运行([tf.global\u variables\u initializer(),tf.tables\u initializer()]))
message_embeddings=session.run(嵌入(消息))
对于i,在枚举中嵌入message_(np.array(message_embeddings.tolist()):
打印(“消息:{}”。格式(消息[i]))
打印(“嵌入大小:{}”。格式(len(message_嵌入)))
消息\u嵌入\u片段=“,”。加入(
(消息嵌入[:3]中x的str(x)表示x)
打印(“嵌入:[{},…]\n”。格式(消息嵌入片段))

我对多语言句子编码器也有类似的问题。我通过将tensorflow版本指定为1.14.0,将tf sentencepiece指定为0.1.83来解决它,因此在colab中运行代码之前,请尝试:

!pip3 install tensorflow==1.14.0
!pip3 install tensorflow-hub
!pip3 install sentencepiece
!pip3 install tf-sentencepiece==0.1.83
我能够在colab中复制您的问题,此解决方案正确加载了模型:

这似乎是sentencepiece和tensorflow之间的兼容性问题,请检查此问题的更新。 让我们知道进展如何。祝你好运,我希望这会有所帮助


编辑:如果tensorflow版本1.14.0不起作用,请将其更改为1.13.1。一旦tensorflow和sentencepiece之间的兼容性得到解决,这个问题就应该得到解决。

仍然存在问题…:(加载模型时,colab会话一直以未知原因重新启动…这很奇怪。请尝试:!pip3 install tensorflow==1.13.1,不要忘记先重新启动运行时。很高兴这样做:)跟踪我发送的链接上的更新,将相应地更改答案,以便对每个人都有效。