小编ai2*_*2ys的帖子

替换 dockerfile 变量中的字符 - 错误:替换中缺少 ':'

在我的 docker 文件中,我为带有点的版本号定义了一个变量,我想将其替换为下划线以供进一步使用。

ARG ABC_VERSION=1.2.3
ARG SOME_OTHER_VARIABLE=/dir_name/abc_${ABC_VERSION//./_}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我收到以下错误。

failed to process "/dir_name/abc_${ABC_VERSION//./_}": missing ':' in substitution
Run Code Online (Sandbox Code Playgroud)

我需要在 dockerfile 中使用“.”多次使用版本号。一次使用“_”,我不喜欢定义两个变量。

有人知道如何解决这个问题吗?


编辑:我想利用该功能来替换字符的实际代码的一部分如下所示。

ARG EXPAT_VERSION=2.1.0
# ...
RUN wget https://github.com/libexpat/libexpat/releases/download/R_${EXPAT_VERSION//./_}/expat-${EXPAT_VERSION}.tar.gz \
    && tar xzf expat-${EXPAT_VERSION}.tar.gz \
    && cp -R expat-${EXPAT_VERSION}/lib ./xmp_sdk/third-party/expat \
    && rm -r expat-${EXPAT_VERSION} && rm expat-${EXPAT_VERSION}.tar.gz
Run Code Online (Sandbox Code Playgroud)

我看到在tensorflow-gpu dockerfiles中使用了类似的东西:

ARG CUDA=10.1
#...
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    cuda-command-line-tools-${CUDA/./-} #...
Run Code Online (Sandbox Code Playgroud)

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/tools/dockerfiles/dockerfiles/devel-gpu.Dockerfile

docker dockerfile

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

VSCode - 缺少选项“附加 Visual Studio Code”

通常我使用“附加 Visual Studio Code”选项将 VSCode 附加到从命令行启动的 Docker 容器。

今天我更新到 VSCode 版本 1.57,现在我找不到该选项了。即使安装了以前的版本 1.56 后,该选项也丢失了。唯一可用的选项是屏幕截图中的以下选项。 在此输入图像描述

我当前使用的系统是MacOS 10.15.7,Docker版本20.10.7,build f0df350和上面提到的VSCode版本。

有人知道这是从哪里来的以及如何解决这个问题吗?我错过了什么吗?

macos docker visual-studio-code

9
推荐指数
1
解决办法
4079
查看次数

TensorBoard 2.0.0 不更新训练标量

我在 docker 容器中运行以下内容:

  • 张量流-GPU 2.0.0
  • 张量板 2.0.0
  • jupyterlab 1.1.4

不幸的是,在训练期间,Tensorboard 仅更新验证标量图(准确度和损失),而不是训练数据的标量图。训练和验证的目录都被选择显示在图表中。

我发现,当我停止 Tensorboard 并重新启动它时,会显示在此时间步之前当前可用的火车标量。不幸的是,这些不会更新,尽管验证标量会随着每个 epocch 更新。

有人知道这个问题的解决方案吗?

tensorflow tensorboard

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