TensorFlow用法

什么是TensorFlow

TensorFlow是一个开源软件库,用于使用数据流图进行数值计算。图中的节点表示数学运算,而图的边缘表示流动的多维数据数组(张量)。这种灵活的体系结构可以将计算部署到台式机,服务器或移动设备中的一个或多个CPU或GPU上,而无需重写代码。

TensorFlow最初由Google机器智能研究组织内Google Brain团队的研究人员和工程师开发,目的是进行机器学习和深度神经网络研究。该系统足够通用,也可以应用于其他各种领域。

运行TensorFlow

在运行NGC深度学习框架容器之前, Docker环境必须支持NVIDIA GPU。要运行容器,请按照《NVIDIA容器和框架用户指南》中的“运行容器”中的说明发出相应的命令,并指定注册表,存储库和标签。有关使用NGC的更多信息,请参阅《NGC容器用户指南》。

系统中实现的方法取决于所安装的DGX OS版本(对于DGX系统),由云服务提供商提供的特定NGC云映像,或为准备在TITAN PC,Quadro PC或vGPU上运行NGC容器而准备的软件。

过程Procedure

  1. 选择“标签”选项卡,找到要运行的容器映像版本。
  2. 在“拉标签”列中,单击图标以复制docker pull命令。
  3. 打开命令提示符并粘贴pull命令。开始提取容器图像。在继续下一步之前,确保拉取成功完成。
  4. 运行容器映像。

如果具有Docker 19.03或更高版本,则启动容器的典型命令是:

docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/tensorflow:xx.xx-tfx-py3

如果具有Docker 19.02或更早版本,启动容器的典型命令是:

nvidia-docker run -it --rm -v local_dir:container_dir nvcr.io/nvidia/tensorflow:xx.xx-tfx-py3

其中:

- `-it` means run in interactive mode
- `--rm` will delete the container when finished
- `-v` is the mounting directory
- `local_dir` is the directory or file from your host system (absolute path) that you want to access from inside your container.  For example, the `local_dir` in the following path is `/home/jsmith/data/mnist`.  
 
   ```
   -v /home/jsmith/data/mnist:/data/mnist
   ```
 
   If you are inside the container, for example, `ls /data/mnist`, you will see the same files as if you issued the `ls /home/jsmith/data/mnist` command from outside the container.
 
- `container_dir` is the target directory when you are inside your container.  For example, `/data/mnist` is the target directory in the example:
 
   ```
   -v /home/jsmith/data/mnist:/data/mnist
   ```
 
- `xx.xx` is the container version. For example, `20.01`.
- `tfx` is the version of TensorFlow. For example, `tf1` or `tf2`.

通过将TensorFlow导入为Python模块来运行:

$ python
>>> import tensorflow as tf
>>> print(tf.__version__)
1.15.0

You might want to pull in data and model descriptions from locations outside the container for use by TensorFlow. To accomplish this, the easiest method is to mount one or more host directories as Docker data volumes. You have pulled the latest files and run the container image.

Note: In order to share data between ranks, NCCL may require shared system memory for IPC and pinned (page-locked) system memory resources.

可能要从容器外部的位置提取数据和模型描述,供TensorFlow使用。为此,最简单的方法是将一个或多个主机目录挂载为Docker数据卷。提取最新文件并运行容器映像。

注意:为了在ranks之间共享数据,NCCL可能需要IPC和固定(页面锁定)系统内存资源的共享系统内存。

The operating system’s limits on these resources may need to be increased accordingly. Refer to your system’s documentation for details. 
In particular, Docker containers default to limited shared and pinned memory resources. When using NCCL inside a container, it is recommended 
that you increase these resources by issuing:
 
```    
--shm-size=1g --ulimit memlock=-1
```
 
in the command line to:
```
docker run --gpus all

有关/workspace/README.md自定义TensorFlow图像的信息,参见容器。

TensorFlow用法的更多相关文章

  1. tensorflow用法记录

    使用 embedding 变量 import tensorflow as tf import numpy as np sess = tf.InteractiveSession() M = list(' ...

  2. tensorflow例子-【老鱼学tensorflow】

    本节主要用一个例子来讲述一下基本的tensorflow用法. 在这个例子中,我们首先伪造一些线性数据点,其实这些数据中本身就隐藏了一些规律,但我们假装不知道是什么规律,然后想通过神经网络来揭示这个规律 ...

  3. TensorFlow tf.app&tf.app.flags用法介绍

    TensorFlow tf.app&tf.app.flags用法介绍 TensorFlow tf.app argparse  tf.app.flags 下面介绍 tf.app.flags.FL ...

  4. 查询tensorflow中的函数用法

    一下均在ubuntu环境下: (1)方法一,使用help()函数: 比如对于tf.placeholder(),在命令行中输入import tensorflow as tf , help(tf.plac ...

  5. tensorflow中batch normalization的用法

    网上找了下tensorflow中使用batch normalization的博客,发现写的都不是很好,在此总结下: 1.原理 公式如下: y=γ(x-μ)/σ+β 其中x是输入,y是输出,μ是均值,σ ...

  6. 第一节,TensorFlow基本用法

    一 TensorFlow安装 TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理.Tsnsor(张量)意味着N维数组,Flow(流)意味着基 ...

  7. 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits的用法

    在计算loss的时候,最常见的一句话就是 tf.nn.softmax_cross_entropy_with_logits ,那么它到底是怎么做的呢? 首先明确一点,loss是代价值,也就是我们要最小化 ...

  8. tensorFlow 三种启动图的用法

    tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().managed_session()  用法的区别: tf.Session() 构 ...

  9. 【TensorFlow】tf.nn.embedding_lookup函数的用法

    tf.nn.embedding_lookup函数的用法主要是选取一个张量里面索引对应的元素.tf.nn.embedding_lookup(tensor, id):tensor就是输入张量,id就是张量 ...

随机推荐

  1. .NET 5学习笔记(12)——WinUI 3 Project Reunion 0.5

    2021年3月的时候,Win UI 3终于来到了第一个稳定的支持版本,可用于创建发布到Micosoft Store的应用.据某软的说法,这个叫WinUI 3 Project Reunion 0.5的版 ...

  2. Python 使用oslo.vmware管理ESXI虚拟机

    oslo.vmware是OpenStack通用框架中的一部分,主要用于实现对虚拟机的管理任务,借助oslo.vmware模块我们可以管理Vmware ESXI集群环境. 读取所有节点主机 from o ...

  3. 硬盘分区形式(MBR、GPT)、系统引导、文件系统、Inode和Block

    目录 MBR和GPT MBR的局限性 GPT的优势 主分区.扩展分区和逻辑分区 挂接卷 Legacy.UEFI引导和GRUB引导 文件系统(FAT16.32.NTFS和EXT2.3.4.Xfs.Tmp ...

  4. nodejs-Stream(流)

    Node.js Stream(流) 描述++++++++++++++++++++++++++++++++++++++++++++++++++++ Stream 是一个抽象接口,Node 中有很多对象实 ...

  5. 文件描述符fd

    java 后台运行程序命令 nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 & 命令解释:后台启动 ...

  6. pr中打开Audition编辑剪辑?

    前景 现在一般的adobe全家桶都是一键安装破解. 天翼网盘链接,下载不限速,没有账号就现注册一个即可. https://cloud.189.cn/t/UZRjuqAZ3E7r (访问码:8ago) ...

  7. Xshell、Xftp评估过期的解决办法

    介绍一个     FTP客户端-IIS7服务器管理工具作为FTP客户端,它支持批量管理ftp站点.定时上传和定时下载,定时备份,且操作简洁.同时iis7服务器管理工具还是vnc客户端.并且支持批量管理 ...

  8. 对标印度的PostMan,一款中国接口测试软件的崛起

    对于我们开发者,Api接口调试一定不陌生.包括我在内,之前进行Api调试时,一直使用的是一款印度的软件Postman.记得刚入手的时候,由于该款软件缺乏中文版本,上手一直比较慢,而且还至少存在如下几个 ...

  9. NumPy之:ndarray多维数组操作

    NumPy之:ndarray多维数组操作 目录 简介 创建ndarray ndarray的属性 ndarray中元素的类型转换 ndarray的数学运算 index和切片 基本使用 index wit ...

  10. 消息队列RabbitMQ(三):消息确认机制

    引言 RabbitMQ的模型是生产者发送信息到 Broker (代理),消费者从 Broker 中取出信息.但是生产者怎么知道消息是否真的发送到 Broker 中了呢?Broker 又怎么知道消息到底 ...