鉴于我有一个线性模型如下,我想得到关于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]我怎么知道渐变中哪个元素属于每个参数,因为它只是一个没有名称的列表,哪个参数与衍生物有关?
在我的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在路径中而不是取代的值和生成失败.
我的问题是,什么可能导致这个问题,我该如何解决?
当有人说非纯函数打破了函数式语言的可组合性时,有人能给出一个解释实际意义的例子吗?
我想看一个可组合性的例子,然后看到相同的例子假设非纯函数以及未完成如何违反可组合性.
我使用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进行导航.
我发现的是两个功能astype和resample.由于我已经知道freq resample看起来有点矫枉过正,我只想将freq设置为每日.
现在我的问题是如何在ABB上使用astype将频率设置为每日?
我对在Tensorflow中使用RNN的初始状态张量的正确方法感到困惑.在使用LSTMStateTuple或cell.zero_state的turtorial之间几乎有50/50的分割.
这两个是一样的吗?如果是这样,为什么有两种方法呢?
在一个示例中,它们用于tf.nn.rnn_cell.LSTMStateTuple设置初始状态,而在另一个示例中,它们使用cell.zero_state().
为什么有两种方法?何时更喜欢这一个?你可以只LSTMStateTuple在你设置时使用state_is_tuple吗?如果是这样,cell.zero_state()不再有用吗?
在Edx Haskell课程中,Erik Meijer反复声明使用Maybe类型进行失败的计算并不是应该做的事情; 相反,应该使用空列表.
我的理解是Maybe类型是好事,我们应该使用它.但是,似乎列表可以模拟所有Maybe可以建模的模型以及更多......那么为什么我们需要这种Maybe类型呢?
可以说我有以下数据:
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) 鉴于我有很长时间的事件流经过如下所示的事物.当很长一段时间过去了,将会有很多不再需要的子流.
有没有办法在给定时间清理特定的子流,例如,应清除由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) 我有一个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
akka ×2
akka-stream ×2
haskell ×2
pandas ×2
python ×2
scala ×2
tensorflow ×2
builder ×1
docker ×1
dockerfile ×1
java ×1
json ×1
lombok ×1
maybe ×1
plot ×1