作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
from tensorflow.keras.layers.experimental.preprocessing import TextVectorization
text_dataset = tf.data.Dataset.from_tensor_slices(text_clean)
vectorizer = TextVectorization(max_tokens=100000, output_mode='tf-idf',ngrams=None)
vectorizer.adapt(text_dataset.batch(1024))
我已经训练了一个 TextVectorization 并且我想将它保存到磁盘,以便我下次可以重新加载它?我试过 pickle 和joblib.dump。这是行不通的。
InvalidArgumentError: Cannot convert a Tensor of dtype resource to a NumPy array
最佳答案
不是 pickle 对象,而是 pickle 配置和权重。稍后解开它并使用配置来创建对象并加载保存的权重。办公文档 here .
代码
text_dataset = tf.data.Dataset.from_tensor_slices([
"this is some clean text",
"some more text",
"even some more text"])
# Fit a TextVectorization layer
vectorizer = TextVectorization(max_tokens=10, output_mode='tf-idf',ngrams=None)
vectorizer.adapt(text_dataset.batch(1024))
# Vector for word "this"
print (vectorizer("this"))
# Pickle the config and weights
pickle.dump({'config': vectorizer.get_config(),
'weights': vectorizer.get_weights()}
, open("tv_layer.pkl", "wb"))
print ("*"*10)
# Later you can unpickle and use
# `config` to create object and
# `weights` to load the trained weights.
from_disk = pickle.load(open("tv_layer.pkl", "rb"))
new_v = TextVectorization.from_config(from_disk['config'])
# You have to call `adapt` with some dummy data (BUG in Keras)
new_v.adapt(tf.data.Dataset.from_tensor_slices(["xyz"]))
new_v.set_weights(from_disk['weights'])
# Lets see the Vector for word "this"
print (new_v("this"))
输出:
tf.Tensor(
[[0. 0. 0. 0. 0.91629076 0.
0. 0. 0. 0. ]], shape=(1, 10), dtype=float32)
**********
tf.Tensor(
[[0. 0. 0. 0. 0.91629076 0.
0. 0. 0. 0. ]], shape=(1, 10), dtype=float32)
关于tensorflow - 如何在 tensorflow 中将 TextVectorization 保存到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65103526/
系统信息谷歌实验室 当我运行官方 tensorflow 基本文本分类提供的示例时,在模型保存之前一切正常,但是当我加载模型时却出现此错误。 RuntimeError: Unable to restor
from tensorflow.keras.layers.experimental.preprocessing import TextVectorization text_dataset = tf.d
我是一名优秀的程序员,十分优秀!