由于hadoopcloudera部署在infra节点和数据节点中工作,那么使用相同的硬件配置应该在哪里部署tensorflow呢?在infra节点还是数据节点?由于tensorflow需要gpu,因此需要知道在何处部署,以便知道要添加gpu的节点。
9cbw7uwe1#
tensorflow可以使用cpu或gpu进行训练,但不需要gpu进行分类。以下是在hadoop和yarn上运行tensorflow的两个好指南:https://www.tensorflow.org/deploy/hadoophttps://hortonworks.com/blog/distributed-tensorflow-assembly-hadoop-yarn/
o7jaxewo2#
https://github.com/linkedin/tony使用tony,您可以提交一个tensorflow作业,并指定worker的数量以及它们是需要cpu还是gpu。下面是如何使用自述文件中的示例:在 tony 目录还有一个 tony.xml 它包含了所有的作业配置。例如:
tony
tony.xml
$ cat tony/tony.xml <configuration> <property> <name>tony.worker.instances</name> <value>4</value> </property> <property> <name>tony.worker.memory</name> <value>4g</value> </property> <property> <name>tony.worker.gpus</name> <value>1</value> </property> <property> <name>tony.ps.memory</name> <value>3g</value> </property> </configuration>
有关配置的完整列表,请参阅wiki。型号代码
$ ls src/models/ | grep mnist_distributed mnist_distributed.py
然后你就可以开始你的工作了:
$ java -cp "`hadoop classpath --glob`:tony/*:tony" \ com.linkedin.tony.cli.ClusterSubmitter \ -executes src/models/mnist_distributed.py \ -task_params '--input_dir /path/to/hdfs/input --output_dir /path/to/hdfs/output --steps 2500 --batch_size 64' \ -python_venv my-venv.zip \ -python_binary_path Python/bin/python \ -src_dir src \ -shell_env LD_LIBRARY_PATH=/usr/java/latest/jre/lib/amd64/server
命令行参数如下:* executes 描述培训代码入口点的位置。* task_params 描述将传递给入口点的命令行参数。* python_venv 描述本地调用python脚本的zip的名称。* python_binary_path 描述python虚拟环境中包含python二进制文件的相对路径,或使用已安装在所有工作节点上的python二进制文件的绝对路径。* src_dir 指定本地根目录的名称,其中包含所有python模型源代码。此目录将复制到所有工作节点。* shell_env 为将在python worker/ps进程中设置的环境变量指定键值对。
executes
task_params
python_venv
python_binary_path
src_dir
shell_env
2条答案
按热度按时间9cbw7uwe1#
tensorflow可以使用cpu或gpu进行训练,但不需要gpu进行分类。以下是在hadoop和yarn上运行tensorflow的两个好指南:
https://www.tensorflow.org/deploy/hadoop
https://hortonworks.com/blog/distributed-tensorflow-assembly-hadoop-yarn/
o7jaxewo2#
https://github.com/linkedin/tony
使用tony,您可以提交一个tensorflow作业,并指定worker的数量以及它们是需要cpu还是gpu。
下面是如何使用自述文件中的示例:
在
tony
目录还有一个tony.xml
它包含了所有的作业配置。例如:有关配置的完整列表,请参阅wiki。
型号代码
然后你就可以开始你的工作了:
命令行参数如下:*
executes
描述培训代码入口点的位置。*task_params
描述将传递给入口点的命令行参数。*python_venv
描述本地调用python脚本的zip的名称。*python_binary_path
描述python虚拟环境中包含python二进制文件的相对路径,或使用已安装在所有工作节点上的python二进制文件的绝对路径。*src_dir
指定本地根目录的名称,其中包含所有python模型源代码。此目录将复制到所有工作节点。*shell_env
为将在python worker/ps进程中设置的环境变量指定键值对。