TensorFlow 容器支持 GPU

一台 GPU 机器,直接访问 gpu 是没有问题的,但是安装 tensorflow 后,一直访问不到 GPU,看了一下 TensorFlow 支持容器化安装,是可以支持 GPU 的。 tensorflow 容器化安装步骤 前提 必须先在宿主 … Read more

我在 Docker 上犯的错误

今天犯了一个错误,犯这个错误的原因是没有理解 docker 的设计哲学,大概花了 3 个小时来折腾一个事情。

起因

一个容器没有安装 python 的一些依赖库,我在容器里面安装了依赖库,不想每次都安装这些依赖库,所以我想把这个容器保存成新的镜像。

错误的方法

有两种方式来解决这个问题。
方式一,构建新的 Dockerfile。
方式二,对一个正在运行的容器,通过 commit 来创建新的镜像。

反思

我选择了方式二,我把容器当虚拟机使了,这是没有理解 Docker 设计的哲学。

找了一文章,这文章总结的很好,有利于我去了解 docker 的设计哲学,我就把他翻译在下面。

使用 Docker 不要做的几件事情

所以你最终屈服于容器,发现它们解决了很多问题并且有很多优势

  1. 第一:容器是不可变的——操作系统、库版本、配置、文件夹和应用程序都包含在容器中。您保证在 QA 中测试过的相同镜像将以相同的行为到达生产环境。
  2. 第二:容器是轻量级的——容器的内存占用很小。容器将只为主进程分配内存,而不是数百或数千 MB。
  3. 第三:容器速度快——您可以像启动典型的 Linux 进程一样快地启动容器。您可以在几秒钟内启动一个新容器,而不是几分钟。

然而,许多用户仍然像对待典型的虚拟机一样对待容器,而忘记了容器有一个重要的特性:容器是一次性的。
“容器是短暂的”。

这种特性迫使用户改变他们应该如何处理和管理容器的思维方式;我将解释您应该做的事情以继续发挥容器的最大优势:

Read more

Mac 与 Linux 随机抽样文本文件

有时碰到一个大文件,要对这个文件进行采样,比如采样多少条,发现 linux 和 mac 上都有一个不错的命令,可以对文件进行抽样。 mac 安装 gshuf gshuf 集成到了 coreutils 里面,通过 brew 直接安装 core … Read more

nvm 在 mac 上安装

brew 安装 nvm 安装完成之后,是不能直接使用的,需要建立一个目录和设置环境亦是 建立目录 设置 zsh 环境变量 设置 zsh 的环境变量,我因为用的是 zsh,和 bash 有一些不一样,brew –prefix 可以 … Read more

zip 命令行给文件和文件夹设置密码

为什么压缩文件一定要设置密码

  • 防止任何人都可以解压,只让知道的人解压文件。
  • 上传到云端的时候,防止一些不良云厂商。

zip 给文件设置密码

要对文件进行密码保护,只需运行 zip 命令并提供 -e 标志(它是 –encrypt 的缩写)。首先将“目标”(例如 file.zip)传递给它,然后将源(例如文件)传递给它。

zip -e file.zip file

Read more