小编Mar*_*der的帖子

Scala将命名和默认参数与隐式参数结合使用

考虑以下:

def f(implicit a: String, y: Int = 0) = a + ": " + y
implicit val s = "size"
println(f(y = 2))
Run Code Online (Sandbox Code Playgroud)

最后一个表达式导致以下错误:

not enough arguments for method f: (implicit a: String, implicit y:
Int)java.lang.String. Unspecified value parameter a.
Run Code Online (Sandbox Code Playgroud)

但是,如果为隐式参数a提供默认值,则没有问题:

def f(implicit a: String = "haha!", y: Int = 0) = a + ": " + y
implicit val s = "size"
println(f(y = 2))
Run Code Online (Sandbox Code Playgroud)

但最后一行打印

haha!: 2
Run Code Online (Sandbox Code Playgroud)

虽然我本来期待的

size: 2
Run Code Online (Sandbox Code Playgroud)

因此隐含值's'没有被提取.如果你没有为f提供任何参数而只是调用

println(f)
Run Code Online (Sandbox Code Playgroud)

那么隐含的价值就会被提起来

size: 0
Run Code Online (Sandbox Code Playgroud)

有人能否了解这里发生的事情?

scala default-value named-parameters implicits

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

Openai健身房环境适合多智能体游戏

是否有可能将openai健身房环境用于多智能体游戏?具体来说,我想模拟一个有四个玩家(代理商)的纸牌游戏.得分转弯的球员在下一回合开始.我如何模拟玩家之间的必要协调(例如,接下来是谁)?最终,我想对四个相互对抗的特工使用强化学习.

reinforcement-learning openai-gym

8
推荐指数
1
解决办法
3016
查看次数

使用sbt native packager的特定于环境的发行版

我正在尝试使用Play(2.2)中提供的sbt本机打包器功能创建/配置环境特定的发行版(用于开发,质量和生产).我尝试使用build.sbt文件中的以下设置来实现此目的:

val dev  = config("dev")  extend(Universal)
val qual = config("qual") extend(Universal)
val prod = config("prod") extend(Universal)


def distSettings: Seq[Setting[_]] =
  inConfig(dev)(Seq(
    mappings in Universal <+= (resourceDirectory in Compile) map { dir =>
     println("dev")
     (dir / "start.bat.dev") -> "bin/start.bat"
     // additional mappings
   }
  )) ++
  inConfig(qual)(Seq(
    mappings in Universal <+= (resourceDirectory in Compile) map { dir =>
      println("qual")
      (dir / "start.bat.qual") -> "bin/start.bat"
      // additional mappings
    }
  )) ++
  inConfig(prod)(Seq(
    mappings in Universal <+= (resourceDirectory in Compile) map { dir => …
Run Code Online (Sandbox Code Playgroud)

sbt playframework playframework-2.2 sbt-native-packager

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

从/向镶木地板文件读取/写入 pyarrow 张量

pyarrow 中,将 a pyarrow.Tensor(例如从 a 创建numpy.ndarray)写入 Parquet 文件的建议方法是什么?甚至有可能无需通过pyarrow.Tableandpandas.DataFrame吗?

numpy parquet tensor pyarrow

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

Spark:在不更改列的可为空属性的情况下转换小数

将列强制转换为 aDecimalType中的 aDataFrame似乎会更改可为 null 的属性。具体来说,我有一个不可为空的类型列DecimalType(12, 4),我将其转换为DecimalType(38, 9)using df.withColumn(columnName, df.col(columnName).cast(dataType))。这会产生一个具有预期数据类型的字段,但该字段现在可为空。有没有一种方法可以在不更改列的可空属性的情况下进行转换?

我在 Spark 2.2.1 和 Spark 2.3.0 中都观察到了这种行为。

apache-spark apache-spark-sql

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

knitr:在Rmd文档中编织单独的Rnw文档

我有一个主R标记文档(Rmd),其中我想在其中一个块中的knit几个单独的 Rnw文档(无子文档).但是,当我调用knitRnw文档时,似乎没有处理包含的R代码块,导致尝试texi2pdf在它们上运行时出错.

情况说明:

内部高手.Rmd:

```{r my_chunk, echo=FALSE, message=FALSE, results='asis'}

... some code ...

knit("sub.**Rnw**", output = ..., quiet = TRUE)

tools::texi2pdf(tex_file)

... some code ...


```
Run Code Online (Sandbox Code Playgroud)

是否需要一些其他配置才能使此方案有效?

r sweave knitr r-markdown

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

在 Openshift Online 上运行 RStudio 服务器

出于安全原因,Openshift Online不允许容器以 root 身份运行进程(请参阅其常见问题部分中的相应问题)。另一方面,RStudio Server需要 root 权限才能进行安装和某些操作。根据RStudio Server 管理指南

RStudio Server 在启动期间以系统 root 用户身份运行,然后放弃此权限并以更受限制的用户身份运行。然后,RStudio Server 在代表用户创建 R 会话时重新假定短暂的 root 权限(服务器在创建 R 会话时需要调用 setresuid,并且此调用需要 root 权限)。

在这种情况下,是否有可能让 RStudio Server docker 容器在 Openshift Online 上运行?

redhat openshift rstudio-server docker

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

堆叠 LSTM 的初始状态结构

使用tf.keras.layers.RNNAPI 的TensorFlow (1.13.1) 中多层/堆叠 RNN 的初始状态所需的结构是什么?

我尝试了以下方法:

lstm_cell_sizes = [256, 256, 256]
lstm_cells = [tf.keras.layers.LSTMCell(size) for size in lstm_cell_sizes]

state_init = [tf.placeholder(tf.float32, shape=[None] + cell.state_size) for cell in lstm_cells]

tf.keras.layers.RNN(lstm_cells, ...)(inputs, initial_state=state_init)
Run Code Online (Sandbox Code Playgroud)

这导致:

ValueError: Could not pack sequence. Structure had 6 elements, but flat_sequence had 3 elements.  Structure: ([256, 256], [256, 256], [256, 256]), flat_sequence: [<tf.Tensor 'player/Placeholder:0' shape=(?, 256, 256) dtype=float32>, <tf.Tensor 'player/Placeholder_1:0' shape=(?, 256, 256) dtype=float32>, <tf.Tensor 'player/Placeholder_2:0' shape=(?, 256, 256) dtype=float32>].
Run Code Online (Sandbox Code Playgroud)

如果我改为state_init具有形状的扁平张量列表[None, 256] …

lstm keras tensorflow recurrent-neural-network

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