我有一个图层输出我想要乘以标量.我可以用lambda图层做到这一点,即
sc_mult = Lambda(lambda x: x * 2)(layer)
Run Code Online (Sandbox Code Playgroud)
哪个工作正常.但是如果我想为每个例子使用不同的标量,我会尝试将它们作为第二个输入提供形状(例子,1)
input_scalar = Input(shape = (1L,))
Run Code Online (Sandbox Code Playgroud)
因此我的lambda层变成了
sc_mult = Lambda(lambda x: x * input_scalar)(layer)
Run Code Online (Sandbox Code Playgroud)
但是现在这在火车时间会引发错误.注意,32是批量大小,128是图层输入(和输出)的维度 - 图层输入乘以标量是(batch_size x 32(前一层中的过滤器)x 128(空间暗淡)x 128 (空间昏暗)).
GpuElemwise. Input dimension mis-match. Input 5 (indices start at 0) has shape[2] == 32, but the output's size on that axis is 128.
Run Code Online (Sandbox Code Playgroud)
我假设我没有通过输入层输入正确的形状,但无法解决原因.
我需要总结一下我分配给组的字符串数量,我知道我可以在dplyr/tidyr中完成,但我遗漏了一些东西.
示例数据集:
Owner = c('bob','julia','cheryl','bob','julia','cheryl')
Day = c('Mon', 'Tue')
Locn = c('house','store','apartment','office','house','shop')
data <- data.frame(Owner, Day, Locn)
Run Code Online (Sandbox Code Playgroud)
看起来像这样:
Owner Day Locn
1 bob Mon house
2 julia Tue store
3 cheryl Mon apartment
4 bob Tue office
5 julia Mon house
6 cheryl Tue shop
Run Code Online (Sandbox Code Playgroud)
我想按名称和日期分组,然后按列计算分组位置.在这个例子中,我希望"house"和"apartment"添加到标题为"Home"的列中,"store","office"和"shop"将计入"Work"列中.
我当前的代码(不起作用):
grouped_locn <- data %>%
dplyr::arrange(Owner, Day) %>%
dplyr::group_by(Owner, Day) %>%
dplyr::summarize(Home = which(data$Locn %in% c('house', 'apartment')),
Work = which(data$Locn %in% c("store", "office", "apartment")))
Run Code Online (Sandbox Code Playgroud)
我只是将我目前的尝试包括在总结步骤中,以显示我是如何接近它的.Home和Work代码当前返回包含组元素的行号的向量(即Home = 1 3 5)
我的预期输出:
Owner Day Home Work …Run Code Online (Sandbox Code Playgroud)