小编Isa*_*Sim的帖子

Fasttext 算法只使用词和子词?还是句子?

如果有任何关于学习方法(或更可能的学习程序)的好例子,我也阅读了这篇论文并用谷歌搜索

对于word2vec,假设有语料句

我每天早上带着妈妈包的饭盒去上学

然后窗口大小为 2,它将尝试通过使用周围的词来获取 'school' 的向量

['去','去','一起','午餐']

现在,FastText 说它使用 subword 来获取向量,所以它肯定是使用 n gram subword,例如 n=3,

['sc', 'sch', 'cho', 'hoo', 'ool', 'school']

到这里,我明白了。但尚不清楚其他词是否用于“学校”的学习。我只能猜测周围的其他词也像 word2vec 一样被使用,因为论文中提到

=> 术语WcWt都用在函数中

其中 Wc 是上下文词,Wt 是序列 t 处的词。

但是,FastText 是如何学习词向量的还不清楚。

.

.

请清楚说明FastText学习过程是如何进行的?

.

.

更确切地说,我想知道,如果FastText也遵循相同的步骤,Word2Vec同时学习到正克表征子字。还是仅使用带有单词的 n-gram 特征子词?

它如何在初始时对子词进行矢量化?等等

nlp vectorization word2vec word-embedding fasttext

5
推荐指数
1
解决办法
3422
查看次数

Object dtype dtype('O') 没有本地 HDF5 等效项

好吧,似乎在堆栈溢出中提出了几个类似的问题,但似乎没有一个回答正确或正确,也没有描述确切的示例。

我在将数组或列表保存到 hdf5 时遇到问题...

我有几个文件包含 (n, 35) 维度的列表,其中每个文件中的 n 可能不同。它们中的每一个都可以使用以下代码保存在 hdf5 中。

hdf = hf.create_dataset(fname, data=d)
Run Code Online (Sandbox Code Playgroud)

但是,如果我想合并它们以在 3d 中制作,则会出现如下错误。

Object dtype dtype('O') 没有本地 HDF5 等效项

我不知道为什么它会变成 dtype 对象,因为我所做的只是这个

all_data = list()
for fname in file_list:
    d = np.load(fname)
    all_data.append(d)
hdf = hf.create_dataset('all_data', data=all_data)
Run Code Online (Sandbox Code Playgroud)

我怎样才能保存这样的数据?我尝试了几个测试,当我用

all_data = np.array(all_data)
Run Code Online (Sandbox Code Playgroud)

看起来它在保存 hdf5 时有类似的问题。

同样,如何将这些数据保存在 hdf5 中?

numpy hdf5

4
推荐指数
1
解决办法
9179
查看次数

keras是否会自动使用gpu?

似乎它会自动使用gpu,但我不知道为什么。

首先,我声明如下

tf_config = tf.ConfigProto( allow_soft_placement=True )
tf_config.gpu_options.allow_growth = True
sess = tf.Session(config=tf_config) 
keras.backend.set_session(sess)
Run Code Online (Sandbox Code Playgroud)

然后我定义了一些模型如下

with K.tf.device('/gpu:0'):
    some keras model
Run Code Online (Sandbox Code Playgroud)

很明显它将使用gpu,并且我检查了它是否按预期使用了第一个gpu(索引为0)。

但是后来我把线移开了

with K.tf.device('/gpu:0'):
Run Code Online (Sandbox Code Playgroud)

并重新确定所有keras模型。我运行了代码,看起来仍然像是使用第一个gpu(索引为0)。

在我的ubuntu上,我使用nvidia-smi命令检查gpu的内存使用情况,然后在Windows上查看了进程管理器。

他们两个都使用gpu内存及其用法。

据我所知,如果我不将tensorflow保留到其模型中,则不会使用gpu。但是使用Keras似乎它会自动使用gpu ...是因为我运行了代码

tf_config = tf.ConfigProto( allow_soft_placement=True )
tf_config.gpu_options.allow_growth = True
sess = tf.Session(config=tf_config) 
keras.backend.set_session(sess)
Run Code Online (Sandbox Code Playgroud)

还是我想念其他原因吗?

gpu model keras tensorflow

3
推荐指数
1
解决办法
1749
查看次数