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. P7518 & 省选联考2021 宝石

    这是一篇极其简单连像我这样省三参加不了省选的蒟蒻都能看懂的题解 前置知识: 倍增LCA  二分 栈 题意 PS:这是一篇完全面向初学者的题解,会非常细,大佬请无视 题目传送门 没有思路的时候, 我们往 ...

  2. hdu3986 spfa + 枚举最短路上的边

    题意: 删除一条边后,求最短路中最长的那个(敌人搞破坏). 思路: 如果你是敌人你肯定删除最短路上的边,删除别的边最短路的值是不会变的,所以直接枚举最短路上的边去删除,取得最大的就行了... #inc ...

  3. POJ3692 最大点权独立集元素个数

    题意:      n个男孩和m个女孩,给你他们谁和谁彼此了解,问你要找到一个集合,使得这个集合中的男孩和女孩相互了解,并且人数最多. 思路:      简单题目,其实就是在求最大点权独立集元素个数,先 ...

  4. WPScan工具的使用(WordPress扫描工具)

    WPScan是Kali Linux默认自带的一款漏洞扫描工具,它采用Ruby编写,能够扫描WordPress网站中的多种安全漏洞,其中包括WordPress本身的漏洞.插件漏洞和主题漏洞.最新版本WP ...

  5. 学习Canvas绘图与动画基础 绘制多条路径(四)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  6. java随堂笔记

    JAVA 1只要是字符串,必然就是对象. 2API文档的基本使用 3如何创建字符串: a直接赋值双引号,也是一个字符串对象. b可以通过new关键字来调用String的构造方法 public Stri ...

  7. 【一】kubernetes学习笔记-Pod概念

    一.Pod 控制器类型 Pod概念 当一个 Pod 创建后,Pause 容器就会随着 Pod 启动,只要是有 Pod,Pause 容器就要被启动. 在同一个 Pod 里面的容器不能出现端口冲突,否则这 ...

  8. Django(24)永久重定向和临时重定向

    重定向 重定向分为永久重定向和临时重定向,在页面上体现的操作就是浏览器会从一个页面自动跳转到另外一个页面.比如用户访问了一个需要权限的页面,但是该用户当前并没有登录,因此我们应该给他重定向到登录页面. ...

  9. log日志重复输出问题(没弄明白原因)

    在别的模块调用定义好的函数 输出的日志出现第一次输出输出一条,第二次输出输出两条...的情况 最后在定义函数处remove了句柄 引用了https://blog.csdn.net/huilan_sam ...

  10. 『动善时』JMeter基础 — 23、JMeter中使用“用户自定义变量”实现参数化

    目录 1.用户自定义变量介绍 2.使用"用户自定义变量"实现参数化 (1)测试计划内包含的元件 (2)数据文件内容 (3)测试计划界面内容 (4)线程组元件内容 (5)CSV数据文 ...