小编THN*_*THN的帖子

gensim Doc2Vec vs tensorflow Doc2Vec

我正在尝试比较我的Doc2Vec(通过tf)和gensims实现的实现.从视觉上看,gensim的表现更好.

我运行以下代码来训练gensim模型和下面的那个用于tensorflow模型.我的问题如下:

  1. 我的Doc2Vec实现是否正确.基本上它应该是连接单词向量和文档向量来预测某个上下文中的中间单词吗?
  2. window=5gensim中的参数是否意味着我在两边使用两个词来预测中间的一个?或者两边都是5.事情是有相当多的文件小于长度10.
  3. 关于为什么Gensim表现更好的任何见解?我的模型与他们如何实现它有什么不同吗?
  4. 考虑到这实际上是一个矩阵分解问题,为什么TF模型甚至得到答案?由于它是一个排名不足的问题,因此有无限的解决方案.< - 最后一个问题只是奖金.

Gensim

model = Doc2Vec(dm=1, dm_concat=1, size=100, window=5, negative=10, hs=0, min_count=2, workers=cores)
model.build_vocab(corpus)
epochs = 100
for i in range(epochs):
    model.train(corpus)
Run Code Online (Sandbox Code Playgroud)

TF

batch_size = 512
embedding_size = 100 # Dimension of the embedding vector.
num_sampled = 10 # Number of negative examples to sample.


graph = tf.Graph()

with graph.as_default(), tf.device('/cpu:0'):
    # Input data.
    train_word_dataset = tf.placeholder(tf.int32, shape=[batch_size])
    train_doc_dataset = tf.placeholder(tf.int32, shape=[batch_size/context_window])
    train_labels = tf.placeholder(tf.int32, shape=[batch_size/context_window, 1])

    # The variables   
    word_embeddings =  tf.Variable(tf.random_uniform([vocabulary_size,embedding_size],-1.0,1.0)) …
Run Code Online (Sandbox Code Playgroud)

python nlp gensim tensorflow doc2vec

45
推荐指数
1
解决办法
1万
查看次数

我们何时需要使用Android提供我们自己的随机初始化向量(IV)?

有许多已发布的报告,在旧版本的Android上,我们需要提供我们自己SecureRandom的初始化向量(IV),因为默认值不是随机的:

相反,随着API等级23,如果你尝试提供你自己的IV,你还必须调用setRandomizedEncryptionRequired(false)KeyGenParameterSpec.Builder,否则你会得到异常的"加密时,调用者提供IV不允许".

据推测,在线路的某个地方,Android在IV生成方面从"可怕"变为"足够好".

什么是截止值,低于该截止值我们应该生成自己的IV而不是使用Android生成的IV?

security android

23
推荐指数
1
解决办法
440
查看次数

Tensorflow警告:图表无法按拓扑顺序排序?

当我运行tensorflow训练时(使用自定义图形,闭源),它会输出警告:

2018-10-03 14:29:24.352895:E tensorflow/core/grappler/optimizers/dependency_optimizer.cc:666]迭代次数= 0,拓扑排序失败并显示消息:图形无法按拓扑顺序排序.

这是什么意思?什么可能导致这个问题以及如何避免它?

更新:对于记录,在我的情况下,tensorflow尽管有此警告仍然可以正常工作.所以我认为这只意味着计算图中有比tensorflow预期更多的循环,不一定是无限循环.我通过避免在代码中使用手动循环来修复此问题,而是使用张量操作(stack, concat, slice, reshape...)

python warnings neural-network deep-learning tensorflow

10
推荐指数
1
解决办法
6671
查看次数


用于搜索的Pandas列索引?

在关系数据库中,我们可以在列上创建索引,以加快查询和加入这些列.我想在pandas数据帧上做同样的事情.行索引似乎不是关系数据库提供的.

问题是:pandas中的列是否被索引以进行默认搜索?

如果没有,是否可以手动索引列以及如何进行索引?

编辑:我已经阅读过pandas文档并在各处搜索,但没有人提到索引和搜索/合并大熊猫的表现.虽然它在关系数据库中很重要,但似乎没有人关心这个问题.任何人都可以在熊猫上做出关于索引和性能的陈述吗?

谢谢.

python mysql indexing performance pandas

7
推荐指数
1
解决办法
1701
查看次数

如何使用自定义标头将 pandas.DataFrame 写入 csv 文件?

我有一个数据框

import pandas as pd
df = pd.DataFrame([[1, 2], [3, 4]], columns=['a', 'b'])
Run Code Online (Sandbox Code Playgroud)

我想写入dfcsv 文件但不使用列['a', 'b']。第一行是我的自定义字符串,其余的是df.values. 例如:

numrows numcols note
1 2
3 4
Run Code Online (Sandbox Code Playgroud)

我可以用熊猫来做到这一点,还是我必须手动遍历内容并写入文件?

python csv dataframe pandas

6
推荐指数
2
解决办法
8143
查看次数

如何获得multiprocessing.Pool.apply_async的结果

我想在Python中获取Pool.apply_async运行的函数的结果.

如何将结果分配给父进程中的变量?我试图使用回调,但似乎很复杂.

python parallel-processing multiprocessing

5
推荐指数
2
解决办法
9839
查看次数

在大熊猫访问错误的列标签时也不例外长大的吗?

在某些情况下,即使不存在列标签,访问Pandas数据框也不会引发异常。

我应该如何检查这些情况,以避免读到错误的结果?

a = pd.DataFrame(np.zeros((5,2)), columns=['la', 'lb'])

a
Out[349]: 
    la   lb
0  0.0  0.0
1  0.0  0.0
2  0.0  0.0
3  0.0  0.0
4  0.0  0.0

a.loc[:, 'lc']  # Raised exception as expected.

a.loc[:, ['la', 'lb', 'lc']]  # Not expected.
Out[353]: 
    la   lb  lc
0  0.0  0.0 NaN
1  0.0  0.0 NaN
2  0.0  0.0 NaN
3  0.0  0.0 NaN
4  0.0  0.0 NaN

a.loc[:, ['la', 'wrong_lb', 'lc']]  # Not expected.
Out[354]: 
    la  wrong_lb  lc
0  0.0       NaN NaN
1 …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Python 3.5 TypeError 上的 Gensim 1.0.1:“map”类型的对象没有 len()?

我使用 Anaconda 安装了 Python 3.5,使用 pip 安装了 gensim 1.0.1(支持 Python 3)。运行gensim时出现以下错误:

Exception in thread Thread-61:
Traceback (most recent call last):
  File "/Users/mac/anaconda/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/Users/mac/anaconda/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/mac/anaconda/lib/python3.5/site-packages/gensim/models/word2vec.py", line 838, in job_producer
    sentence_length = self._raw_word_count([sentence])
  File "/Users/mac/anaconda/lib/python3.5/site-packages/gensim/models/word2vec.py", line 755, in _raw_word_count
    return sum(len(sentence) for sentence in job)
  File "/Users/mac/anaconda/lib/python3.5/site-packages/gensim/models/word2vec.py", line 755, in <genexpr>
    return sum(len(sentence) for sentence in job)
TypeError: object of type 'map' has no len()
Run Code Online (Sandbox Code Playgroud)

导致此错误的代码来自node2vec。我正在将其移植到 Python …

python python-3.x gensim anaconda

2
推荐指数
1
解决办法
1528
查看次数

如何使用 argparse 从命令行和代码传递参数?

我有一个 python 程序,它接受许多参数并运行。使用argparse,我可以定义参数、它们的默认值、它们的解释,并且它可以用作一个方便的容器。所以这对于从命令行传递参数来说都是很好的。

但我也可以使用它来传递代码中的参数以进行 API 调用吗?

python command-line arguments parameter-passing argparse

2
推荐指数
1
解决办法
7650
查看次数