小编Sea*_*123的帖子

如何在单独的Ruby进程之间传递Selenium WebDriver对象?

我想在两个Ruby进程之间传递一个对象的实例.具体来说,我想将Selenium WebDriver的实例从一个进程传递到另一个进程.我想这样做的原因是因为Ruby需要花费大量时间来创建这个对象,但是我希望它被其他进程使用.

我在这里和这里发现了一些似乎指向使用DRb的相关问题,但我一直无法找到任何有用的示例或示例代码.

我应该使用除DRb之外的工具吗?有没有人有类似我可以复制的例子?

ruby serialization ipc marshalling selenium-webdriver

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

自定义YARD降价

我有以下方法,我想使用它来记录YARDoc.

# Here is my method
# @arg woop [Woop] *dangerous* this parameter is output to the screen
def shoop(woop)
  puts woop
end
Run Code Online (Sandbox Code Playgroud)

这会生成HTML格式的dangerous粗体.因为我必须解析此输出,所以我希望有一个自定义HTML标记.换句话说,我想这样做,以便当解析下面的代码注释时YARDoc,单词dangerous被<div class="custom"></div>标签包围,而不是<b><\b>标签,使得用Nokogiri更容易解析.并不是说目前无法用Nokogiri进行解析,它只是有点尴尬,容易受到YARD代码变化的影响.

# Here is my method
# @arg woop [Woop] **dangerous** this parameter is output to the screen
def shoop(woop)
  puts woop
end
Run Code Online (Sandbox Code Playgroud)

YARD中是否有任何功能允许我完成此操作?我看了创建自定义模板,但这似乎更多的是解析代码.然后,我检查了创建自定义降价模板,但我没有看到这是如何实现或应该完成的.我开始得到的印象是我正在咆哮错误的树,并且会欣赏一个谷歌关键词.

为什么我首先尝试解析HTML:
正如我在之前的问题中所描述的那样,我试图定义一个接口而不必重复代码.在这个例子中,我希望服务器"调用"一种危险的方法,而不是一种非危险的方法.

ruby yard

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

如何使石斑鱼和轴的长度相同?

对于我的作业,我应该使用 matplotlib 在地图上绘制 20 次飓风的轨迹。但是,当我运行代码时,出现错误:AssertionError:Grouper and axis must be the same length

这是我的代码:

import numpy as np
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt 
from PIL import *
fig = plt.figure(figsize=(12,12))

ax = fig.add_axes([0.1,0.1,0.8,0.8])

m = Basemap(llcrnrlon=-100.,llcrnrlat=0.,urcrnrlon=-20.,urcrnrlat=57.,
        projection='lcc',lat_1=20.,lat_2=40.,lon_0=-60.,
        resolution ='l',area_thresh=1000.)

m.bluemarble()
m.drawcoastlines(linewidth=0.5)
m.drawcountries(linewidth=0.5)
m.drawstates(linewidth=0.5)

# Creates parallels and meridians

m.drawparallels(np.arange(10.,35.,5.),labels=[1,0,0,1])
m.drawmeridians(np.arange(-120.,-80.,5.),labels=[1,0,0,1])
m.drawmapboundary(fill_color='aqua')

# Opens data file

import pandas as pd
name = [ ]
df = pd.read_csv('louisianastormb.csv')
for name, group in df.groupby([name]):
    latitude = group.lat.values
    longitude = group.lon.values …
Run Code Online (Sandbox Code Playgroud)

python csv matplotlib pandas matplotlib-basemap

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

如何从 matplotlib 向 FuncAnimation 添加时间控制面板

我目前正在使用matplotlib.animation.FuncAnimation()在图形上显示我的作品的动画。

它工作得很好,我理解我使用的参数(间隔、时间范围,...)但是,我想知道是否有办法实现(可能直接到图)包含动画的面板,一个滚动条或其他任何东西,它允许我:

  • 快速向前或向后移动到感兴趣的时区。
  • 显示我在动画的哪个点(10%,然后是 20%,...)。

基本上,是一种控制图形上python中的动画的方法,就像我将其控制为视频播放器播放的视频文件一样?

如果需要,这就是这个动画的代码:

    def init():
        im1.set_data(XYslice[0, :, :])
        im2.set_data(XZslice[0, Nplans/2:, :])
        return([im1, im2])

    def animate(t):
       im1.set_data(XYslice[t, :, :])
       im2.set_data(XZslice[t, Nplans/2:, :])
       return [im1, im2]

    anim = animation.FuncAnimation(fig, animate, np.arange(Ntime), interval=200,
                                 blit=True, init_func=init, repeat=True)
Run Code Online (Sandbox Code Playgroud)

animation matplotlib python-2.7

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

Keras 中的序列标记

我正在研究句子标签问题。我自己完成了嵌入和填充,我的输入看起来像:

X_i = [[0,1,1,0,2,3...], [0,1,1,0,2,3...], ..., [0,0,0,0,0...],  [0,0,0,0,0...], ....]
Run Code Online (Sandbox Code Playgroud)

对于句子中的每个单词,我想预测四个类别之一,所以我想要的输出应该是这样的:

Y_i = [[1,0,0,0], [0,0,1,0], [0,1,0,0], ...]
Run Code Online (Sandbox Code Playgroud)

我的简单网络架构是:

model = Sequential()

model.add(LSTM(input_shape = (emb,),input_dim=emb, output_dim=hidden, return_sequences=True))
model.add(TimeDistributedDense(output_dim=4))
model.add(Activation('softmax'))
    model.compile(loss='binary_crossentropy', optimizer='adam')

model.fit(X_train, Y_train, batch_size=32, nb_epoch=3, validation_data=(X_test, Y_test), verbose=1, show_accuracy=True)
Run Code Online (Sandbox Code Playgroud)

它在训练时显示大约 95%,但是当我尝试使用训练有素的模型预测新句子时,结果非常糟糕。看起来模型只是为第一个单词学习了一些类,并且每次都显示它。我认为问题可能是:

  1. 自己写的padding(句末零向量),会不会让学习更糟?

  2. 我应该尝试学习不同长度的句子,没有填充(如果是,你能帮助我如何在 Keras 中训练这种模型吗?)

  3. 错误的学习目标,但我尝试了均方误差,二元交叉熵等,它没有改变。

  4. 与TimeDistributedDense和 的东西softmax,我想,我已经知道它是如何工作的,但仍然不是 100% 确定。

我很高兴看到有关此问题的任何提示或帮助,谢谢!

machine-learning deep-learning lstm keras recurrent-neural-network

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

边用 Graphviz 和 Dot 指向边

我想在graphviz使用该dot格式时将一条边指向另一条边。

到目前为止我得到了什么:

digraph G {
    Hello->dummy;
    dummy->World;
    dummy[shape=point width=0];
    Test->dummy;
}
Run Code Online (Sandbox Code Playgroud)

产生

当前状态

我想得到的是与此更相似的东西:

在此处输入图片说明

任何想法如何做到这一点?

graph dot graphviz

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

RNN 的可变长度序列输入的分桶

假设一个循环神经网络以可变长度的文本序列作为输入。为了提高效率,人们可以将长度相似的序列批处理在一起,以最小化每批的填充量——称为桶化。这如何在 Keras 中实现?

作为参考,使用遗留操作的Tensorflow Seq2Seq 教程包含此内容,但其代码应该能够在 Keras 中以更少的代码行进行简化。

python lstm keras tensorflow recurrent-neural-network

5
推荐指数
0
解决办法
853
查看次数

如何正确使用keras遮罩层?

Keras遮罩层可用于处理RNN的可变长度序列训练。当我使用它们时,与单批训练相比,蒙版层的准确性较低。我怀疑我没有正确使用遮罩层。

我的目标是训练LSTM学习如何拼写单词。这些序列是不同的英语单词,用一键表示编码。以下是数据编码部分的代码:chars是组成序列的所有字母的集合,mylist是序列的列表,是序列MAXLEN的最大长度。

char_indices = dict((c, i) for i, c in enumerate(chars))
indices_char = dict((i, c) for i, c in enumerate(chars))

X = np.zeros((len(mylist), MAXLEN, len(chars)), dtype=np.bool)
y = np.zeros((len(mylist), MAXLEN, len(chars)), dtype=np.bool)

for i, sentence in enumerate(mylist):
    for t in range(len(sentence)-Data_end):
        X[i, t, char_indices[sentence[t]]] = 1
        y[i, t, char_indices[sentence[t+1]]] = 1
Run Code Online (Sandbox Code Playgroud)

我的网络定义为:

model = Sequential()
model.add(Masking(mask_value=0., input_shape=(None, len(chars))))
model.add(LSTM(2000, return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(2000, return_sequences=True))
model.add(Dropout(0.2))
model.add(TimeDistributed(Dense(len(chars))))
model.add(Activation('softmax'))

sgd = SGD(lr=lr_init, decay=decay_init, momentum=momentum_init, nesterov=True)
model.compile(loss='categorical_crossentropy', optimizer=sgd) …
Run Code Online (Sandbox Code Playgroud)

python nlp keras recurrent-neural-network

5
推荐指数
0
解决办法
2638
查看次数

TensorFlow权限被拒绝错误/位置

在终端中运行board.py时,按照本教程进行操作时,我在Ubuntu 16.04上收到此错误:

 File "/home/alarik/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/errors_impl.py", line 469, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.PermissionDeniedError: /LOCATION
Run Code Online (Sandbox Code Playgroud)

我是一个相对较新的Linux用户/程序员,所以我不完全确定该怎么做/查找,因为google找不到我的答案。所以我的两个问题是:

  1. 我应该如何解决这个问题
  2. 将来,我应该如何解决与此类似的错误,以便变得更加独立

python linux tensorflow

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

如何避免将 _pb2.py 文件放在包根目录?

我libprotoc 3.2.0在 Python 包中使用Python 3。如果我尝试将 Protobuff Python 文件(用 extensions 表示_pb2.py)放入他们自己的文件夹中,使用这些.proto文件,protobufs然后尝试将它们导入一个 python 文件,如下所示:

# assuming outputs from a.proto and b.proto, where b depends on a
import protobufs.a
import protobufs.b
Run Code Online (Sandbox Code Playgroud)

我收到b无法找到的导入错误a。如果我将_pb2.py文件输出到我的包的根目录中,我就没有这个问题。这在this issue中详细说明,但我不确定我是否遇到完全相同的问题。是否可以避免_pb2.py在我的包的根目录输出文件?

非玩具示例

我实际上拥有的是两个相互引用的 protobuff,如下.proto文件中所示:

syntax = "proto3";
import "common.proto";
Run Code Online (Sandbox Code Playgroud)

在 Python 文件中,这被转换为:

# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: persons.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) …
Run Code Online (Sandbox Code Playgroud)

python protocol-buffers python-3.x

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