【发布时间】:2020-03-28 18:42:33
【问题描述】:
我想获取使用 Tensorflow 中的“嵌入列”创建的 numpy 向量。
例如,创建一个示例 DF:
sample_column1 = ["Apple","Apple","Mango","Apple","Banana","Mango","Mango","Banana","Banana"]
sample_column2 = [1,2,1,3,4,6,2,1,3]
ds = pd.DataFrame(sample_column1,columns=["A"])
ds["B"] = sample_column2
ds
将 pandas DF 转换为 TensorFlow 对象
# A utility method to create a tf.data dataset from a Pandas Dataframe
def df_to_dataset(dataframe, shuffle=True, batch_size=32):
dataframe = dataframe.copy()
labels = dataframe.pop('B')
ds = tf.data.Dataset.from_tensor_slices((dict(dataframe), labels))
#print (ds)
if shuffle:
ds = ds.shuffle(buffer_size=len(dataframe))
#print (ds)
ds = ds.batch(batch_size)
return ds
创建嵌入列:
tf_ds = df_to_dataset(ds)
# embedding cols
col_a = feature_column.categorical_column_with_vocabulary_list(
'A', ['Apple', 'Mango', 'Banana'])
col_a_embedding = feature_column.embedding_column(col_a, dimension=8)
有没有办法从 'col_a_embedding' 对象中获取嵌入作为 numpy 向量?
例子,
类别“Apple”将嵌入到大小为 8 的向量中:
[a1 a2 a3 a4 a5 a6 a7 a8]
我们可以获取那个向量吗?
【问题讨论】:
-
真的很难理解你需要什么。能举个例子吗?
-
“凹凸不平的向量”是什么意思?
-
@thushv89 我想获取嵌入向量。每个类别将被嵌入到一个给定维度的向量中,我想得到那个向量。
-
@greeness 抱歉打错了。我的意思是 numpy。
标签: numpy tensorflow deep-learning