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. 深度解析Django REST Framework 批量操作

    我们都知道Django rest framework这个库,默认只支持批量查看,不支持批量更新(局部或整体)和批量删除. 下面我们来讨论这个问题,看看如何实现批量更新和删除操作. DRF基本情况 我们 ...

  2. 十步解决php utf-8编码

    以前说过如果JS文件不是UTF8会在IE有bug,所以JS代码也要用UTF-8.还有数据库也都要用UTF-8.php用UTF-8总结: php文件本身必须是UTF-8编码.不像Java会生成class ...

  3. TP5学习记录(Model篇)

    ThinkPHP 数据库操作 数据库连接 #在config/database.php设置数据库连接参数或者利用Db::connect()方法设置数据库连接 /* * public static fun ...

  4. poj3648 2-sat

    题意:       一对夫妻结婚,请来了n对夫妻,所有人坐在同一张桌子上吃饭,这张桌子是长方形的可以坐两排人,有如下限制 (1) 新娘和新郎不做同一侧. (2) 每对来的夫妻也不能坐在同一侧.  (3 ...

  5. IDS入侵检测系统

    目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...

  6. 《THE LEAN STARTUP》 《精益创业》

    书名:<THE LEAN STARTUP> <精益创业> 作者: [美] 埃里克·莱斯 IMVU:(3D人物场景聊天)https://secure.imvu.com 作者是这个 ...

  7. Wampserver-删除虚拟主机

    对hosts操作 到目录C:\Windows\System32\drivers\etc中修改hosts 比如你想删除iwh2.com 选中这2行进行删除,保存退出 对httpd-vhosts操作 到目 ...

  8. c++学习的一些忠告(转载)

    c++学习的一些忠告 1.把C++当成一门新的语言学习(和C没啥关系!真的.): 2.看<Thinking In C++>,不要看<C++变成死相>: 3.看<The C ...

  9. algorithm库介绍之---- stable_sort()方法 与 sort()方法 .

    文章转载自:http://www.cnblogs.com/ffhajbq/archive/2012/07/24/2607476.html 关于stable_sort()和sort()的区别: 你发现有 ...

  10. 初探DBSCAN聚类算法

    DBSCAN介绍 一种基于密度的聚类算法 他最大的优势是可以发现任意形状的聚类簇,而传统的聚类算法只能使用凸的样本聚集类 两个参数: 邻域半径R和最少点数目minpoints. 当邻域半径R内的点的个 ...