小编use*_*545的帖子

如何在方法上使用Lombok @Builder注释

我想有一个简单的方法来构建测试数据,并发现Builder模式非常适合这里描述的.然而,为了减少组件测试中的样板代码,我发现来自Project Lombok的@Builder是一个不错的候选人.但是,我无法找到有关如何在方法上使用它的任何文档或在线示例.我想在某种工厂方法上使用@Builder,因为我无法对实现进行任何更改.

有人可以考虑如何在方法上实际使用@Builder吗?

java builder lombok

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

tf.gradients如何在TensorFlow中工作

鉴于我有一个线性模型如下,我想得到关于W和b的梯度向量.

# tf Graph Input
X = tf.placeholder("float")
Y = tf.placeholder("float")

# Set model weights
W = tf.Variable(rng.randn(), name="weight")
b = tf.Variable(rng.randn(), name="bias")

# Construct a linear model
pred = tf.add(tf.mul(X, W), b)

# Mean squared error
cost = tf.reduce_sum(tf.pow(pred-Y, 2))/(2*n_samples)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试这样的事情,其中​​成本是一个函数,cost(x,y,w,b)我只想要相对于渐变w and b:

grads = tf.gradients(cost, tf.all_variable())
Run Code Online (Sandbox Code Playgroud)

我的占位符也将包括在内(X和Y).即使我确实得到了一个渐变,[x,y,w,b]我怎么知道渐变中哪个元素属于每个参数,因为它只是一个没有名称的列表,哪个参数与衍生物有关?

在这个问题中,我正在使用此代码的一部分,并在问题的基础上构建.

machine-learning linear-gradients tensorflow

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

RUN命令中的ARG替换不适用于Dockerfile

在我的Dockerfile中,我有以下内容:

ARG a-version
RUN wget -q -O /tmp/alle.tar.gz http://someserver/server/$a-version/a-server-$a-version.tar.gz && \
    mkdir /opt/apps/$a-version
Run Code Online (Sandbox Code Playgroud)

但是在构建时:

--build-arg http_proxy=http://myproxy","--build-arg a-version=a","--build-arg b-version=b"
Run Code Online (Sandbox Code Playgroud)

Step 10/15 : RUN wget...被示为具有$a-version在路径中而不是取代的值和生成失败.

我已按照此处显示的说明操作,但必须遗漏其他内容.

我的问题是,什么可能导致这个问题,我该如何解决?

docker dockerfile

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

非纯函数打破可组合性意味着什么?

当有人说非纯函数打破了函数式语言的可组合性时,有人能给出一个解释实际意义的例子吗?

我想看一个可组合性的例子,然后看到相同的例子假设非纯函数以及未完成如何违反可组合性.

haskell functional-programming

13
推荐指数
2
解决办法
442
查看次数

在DataFrame创建之后设置pandas的freq频率DatetimeIndex

我使用pandas datareader获取股票数据.

import pandas as pd
import pandas_datareader.data as web
ABB = web.DataReader(name='ABB.ST', 
                     data_source='yahoo',
                     start='2000-1-1')
Run Code Online (Sandbox Code Playgroud)

但是,默认情况下,未在结果数据帧上设置freq.我需要freq才能使用索引导航,如下所示:

for index, row in ABB.iterrows():
    ABB.loc[[index + 1]]
Run Code Online (Sandbox Code Playgroud)

如果未在DatetimeIndex上设置freq,则无法使用+1etc进行导航.

我发现的是两个功能astyperesample.由于我已经知道freq resample看起来有点矫枉过正,我只想将freq设置为每日.

现在我的问题是如何在ABB上使用astype将频率设置为每日?

python pandas

12
推荐指数
2
解决办法
7761
查看次数

LSTMStateTuple与Tensorflow中RNN的cell.zero_state()

我对在Tensorflow中使用RNN的初始状态张量的正确方法感到困惑.在使用LSTMStateTuplecell.zero_state的turtorial之间几乎有50/50的分割.

这两个是一样的吗?如果是这样,为什么有两种方法呢?

在一个示例中,它们用于tf.nn.rnn_cell.LSTMStateTuple设置初始状态,而在另一个示例中,它们使用cell.zero_state().

为什么有两种方法?何时更喜欢这一个?你可以只LSTMStateTuple在你设置时使用state_is_tuple吗?如果是这样,cell.zero_state()不再有用吗?

machine-learning deep-learning tensorflow

11
推荐指数
1
解决办法
9568
查看次数

空列表vs可能代表Haskell中的失败计算

Edx Haskell课程中,Erik Meijer反复声明使用Maybe类型进行失败的计算并不是应该做的事情; 相反,应该使用空列表.

我的理解是Maybe类型是好事,我们应该使用它.但是,似乎列表可以模拟所有Maybe可以建模的模型以及更多......那么为什么我们需要这种Maybe类型呢?

haskell maybe

7
推荐指数
2
解决办法
628
查看次数

如何在具有大量不同计数的pandas中绘制value_counts,而不是均匀分布

可以说我有以下数据:

s2 = pd.Series([1,2,3,4,5,2,3,333,2,123,434,1,2,3,1,11,11,432,3,2,4,3,3,3,54,34,24,2,223,2535334,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30000, 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2])
s2.value_counts(normalize=True).plot()
Run Code Online (Sandbox Code Playgroud)

我想在图中显示的是,有一些数字构成了大多数情况.问题是这将在图的最左侧看到,然后将有一条直线为所有其他类别.在实际数据中,x轴将是大约18000个类别的分类,4%的计数将在10000左右,然后其余的将下降并且大约为50.

我想向"普通"商务人士展示这一点,因此无法通过一些难以阅读的解决方案.

更新:请参阅@unutbu answere更新的代码,并qcut在尝试使用元组时出现错误.

TypeError: unsupported operand type(s) for -: 'tuple' and 'tuple'

df = pd.DataFrame({'s1':[1,0,1,0], 's2':[1,0,1,1], 's3':[1,0,1,1], 's4':[0,0,0,1]})
perms = df.apply(tuple, axis=1)
prob = perms.value_counts(normalize=True).reset_index(drop='True')
category_classes = pd.qcut(prob, q=[0, .25, 0.95, 1.], 
                 labels=['bottom 25%', 'mid 70%', 'top 5%'])
prob_groups = prob.groupby(category_classes).sum()
prob_groups.plot(kind='bar')
plt.xticks(rotation=0)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python plot pandas

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

如何清理连续的Akka流中的子流

鉴于我有很长时间的事件流经过如下所示的事物.当很长一段时间过去了,将会有很多不再需要的子流.

有没有办法在给定时间清理特定的子流,例如,应清除由id 3创建的子流,并且扫描方法中的状态在13Pm时丢失(Wid的属性是否到期)?

case class Wid(id: Int, v: String, expires: LocalDateTime)
test("Substream with scan") {
  val (pub, sub) = TestSource.probe[Wid]
    .groupBy(Int.MaxValue, _.id)
    .scan("")((a: String, b: Wid) => a + b.v)
    .mergeSubstreams
    .toMat(TestSink.probe[String])(Keep.both)
    .run()
}
Run Code Online (Sandbox Code Playgroud)

scala akka akka-stream

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

使用AKKA Stream解码分块JSON

我有一个Source[ByteString, _]输入文件有3行像这样(实际上输入是一个带有连续流的TCP套接字):

{"a":[2
33]
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是,我想将其解析成一个Source[ChangeMessage,_],但是我发现的唯一示例是当每个行都有一个完整的JSON消息而不是每个JSON消息可以在多行上分段时.

我发现一个例子是此库,但它预计},作为最后一个字符,即每行一个JSON.以下示例显示了此设置.

"My decoder" should "decode chunked json" in {
    implicit val sys = ActorSystem("test")
    implicit val mat = ActorMaterializer()
    val file = Paths.get("chunked_json_stream.json")
    val data = FileIO.fromPath(file)
    .via(CirceStreamSupport.decode[ChangeMessage])
    .runWith(TestSink.probe[ChangeMessage])
    .request(1)
    .expectComplete()
  }
Run Code Online (Sandbox Code Playgroud)

另一种替代方法是使用折叠和平衡},仅在完成整个JSON时发出.这个问题是折叠运算符只在流完成时发出,因为这是一个连续的流,所以我不能在这里使用它.

我的问题是:在AKKA Stream中解析分块JSON流的最快方法是什么?有没有可用的软件?如果可能的话我想使用circe

json scala akka akka-stream

6
推荐指数
1
解决办法
1127
查看次数