我有以下方法,我想使用它来记录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:
正如我在之前的问题中所描述的那样,我试图定义一个接口而不必重复代码.在这个例子中,我希望服务器"调用"一种危险的方法,而不是一种非危险的方法.
对于我的作业,我应该使用 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) 我目前正在使用matplotlib.animation.FuncAnimation()在图形上显示我的作品的动画。
它工作得很好,我理解我使用的参数(间隔、时间范围,...)但是,我想知道是否有办法实现(可能直接到图)包含动画的面板,一个滚动条或其他任何东西,它允许我:
基本上,是一种控制图形上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) 我正在研究句子标签问题。我自己完成了嵌入和填充,我的输入看起来像:
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%,但是当我尝试使用训练有素的模型预测新句子时,结果非常糟糕。看起来模型只是为第一个单词学习了一些类,并且每次都显示它。我认为问题可能是:
自己写的padding(句末零向量),会不会让学习更糟?
我应该尝试学习不同长度的句子,没有填充(如果是,你能帮助我如何在 Keras 中训练这种模型吗?)
错误的学习目标,但我尝试了均方误差,二元交叉熵等,它没有改变。
与TimeDistributedDense和 的东西softmax,我想,我已经知道它是如何工作的,但仍然不是 100% 确定。
我很高兴看到有关此问题的任何提示或帮助,谢谢!
machine-learning deep-learning lstm keras recurrent-neural-network
我想在graphviz使用该dot格式时将一条边指向另一条边。
到目前为止我得到了什么:
digraph G {
Hello->dummy;
dummy->World;
dummy[shape=point width=0];
Test->dummy;
}
Run Code Online (Sandbox Code Playgroud)
产生
我想得到的是与此更相似的东西:
任何想法如何做到这一点?
假设一个循环神经网络以可变长度的文本序列作为输入。为了提高效率,人们可以将长度相似的序列批处理在一起,以最小化每批的填充量——称为桶化。这如何在 Keras 中实现?
作为参考,使用遗留操作的Tensorflow Seq2Seq 教程包含此内容,但其代码应该能够在 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) 在终端中运行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找不到我的答案。所以我的两个问题是:
我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 ×5
keras ×3
lstm ×2
matplotlib ×2
ruby ×2
tensorflow ×2
animation ×1
csv ×1
dot ×1
graph ×1
graphviz ×1
ipc ×1
linux ×1
marshalling ×1
nlp ×1
pandas ×1
python-2.7 ×1
python-3.x ×1
yard ×1