我正在用 lodash 尝试做以下事情。我有一个包含更多嵌套对象的对象数组,如下所示:
[{
id: 123,
name: 'John',
summary1: {
count: 3,
sum: 10,
},
summary2: {
count: 10,
sum: 20
},
},
...
]
Run Code Online (Sandbox Code Playgroud)
我想把这个数组的每个元素转换成这样的:
[{
id: 123,
name: 'John',
summary1_count: 3,
summary1_sum: 10
summary2_count: 10,
summary2_sum: 20,
},
...
]
Run Code Online (Sandbox Code Playgroud)
所以基本上我想“展平”数组的每个元素,以一种基于主键和子键确定对象键的方式。如何使用 lodash 或普通 JS 完成此操作?
您可以假设只有 1 级嵌套,如示例中所示。
有没有办法发送数据来训练Vowpal Wabbit中的模型而无需将其写入磁盘?
这就是我想要做的.我在csv中有一个相对较大的数据集(大约2gb),它在内存中没有问题.我将它加载到R中的数据框中,我有一个函数将该数据帧中的数据转换为VW格式.
现在,为了训练模型,我必须首先将转换后的数据写入文件,然后将该文件提供给VW.写入磁盘部分的时间太长,特别是因为我想尝试使用不同功能转换的不同各种模型,因此我必须多次将数据写入磁盘.
因此,假设我能够在R中创建一个字符向量,其中每个元素都是VW格式的一行数据,如何在不将其写入磁盘的情况下将其提供给大众?
我考虑使用守护进程模式并将字符向量写入localhost连接,但我无法让VW以守护进程模式进行训练 - 我不确定这是否可行.
如果有必要,我愿意使用c ++(通过Rcpp包)来完成这项工作.
非常感谢你提前.
更新:
感谢大家的帮助.如果有人感兴趣,我只是按照答案中的建议将输出传输到大众,如下所示:
# Two sample rows of data
datarows <- c("1 |name 1:1 2:4 4:1", "-1 |name 1:1 4:1")
# Open connection to VW
con <- pipe("vw -f my_model.vw")
# Write to connection and close
writeLines(datarows, con)
close(con)
Run Code Online (Sandbox Code Playgroud) 我们的项目是用 C++ 编写的,并使用 gRPC 作为依赖项。我们使用 clang 作为编译器。我们使用 来设置 C++ 工具链文件-Wall -Werror,但这会导致 gRPC 本身引发的警告出现问题。
有没有办法阻止 Bazel 将Werror标志应用于 gRPC 文件,但仍将其应用于项目中的其他地方?
这些文件看起来像这样:
WORKSPACE:
git_repository(
name = "com_github_grpc_grpc",
remote = "https://github.com/grpc/grpc",
...
)
load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
grpc_deps()
load("@com_github_grpc_grpc//bazel:grpc_extra_deps.bzl", "grpc_extra_deps")
grpc_extra_deps()
...
BUILD:
cc_binary(
name = "one_of_many_binaries",
srcs = ["source_1.cc"],
deps = ["@com_github_grpc_grpc//:grpc++",
...],
)
...
cc_toolchain_config.bzl:
default_compile_flags_feature = feature(
name = "default_compile_flags",
enabled = True,
flag_sets = [
flag_set(
actions = all_compile_actions,
flag_groups = [
flag_group(
flags = ["-Wall", "-Werror", ...] …Run Code Online (Sandbox Code Playgroud)