技术开发 频道

TensorFlow 1.9迎来优化版,详细性能更新干货分享!

  【IT168 技术】英特尔®TensorFlow * 1.9优化版现在已经进入使用阶段。当TensorFlow建立在英特尔® MKL-DNN(用于深度神经网络的英特尔®数学内核库)时,一些人不愿意基于源代码编译TensorFlow,去提升CPU性能,而英特尔®TensorFlow * 1.9优化的这些二进制包就为这些人提供了方便。

  除了支持英特尔®MKL-DNN之外,在生成二进制文件之前,以下补丁可用于源代码:

  以下是详细的发布说明。二进制文件可作为 python whl packages和Docker containers使用。

  Python* Packages (whls)

  有三个可用的python packages:

                                                                Python packages配置
                             组态                                                链接
                          Python 2.7

https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp27-cp27mu-linux_x86_64.whl

                       Python 3.5https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl
                       Python 3.6https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl


  若要安装英特尔Tensorflow优化版,请运行下面的一个指令将wheel安装到现有的Python* installation中,最好是Intel® Distribution for Python*:

  #Python 2.7

  Pip install

  https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp27-cp27mu-linux_x86_64.whl

  #Pthon 3.5

  Pip install

  https://storage.googleapis.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp35-cp35m-linux_x86_64.whl

  #Python 3.6

  Pip install

  https://storage.cloud.google.com/intel-optimized-tensorflow/tensorflow-1.9.0-cp36-cp36m-linux_x86_64.whl

  Docker Images

  获取并运行容器

  这些docker镜像都发布在http://hub.docker.com的intelaipg / intel-optimized-tensorflow命名空间中,可以使用以下命令进行拉取:

  $ docker pull docker.io/intelaipg/intel-optimized-tensorflow:

  例如,直接运行python 2.7数据科学容器

  $ docker run -it -p 8888:8888 intelaipg / intel-optimized-tensorflow

  然后在http:// localhost:8888 /上转到您的浏览器

  可用的配置容器

  可以使用以下标签/配置:

  Docker容器配置
   组态标签
Python 2.7与jupyter和sample notebooks

       latest

  latest-mkl

  1.9.0-mkl

Python 3.5与jupyter和sample notebooks

       latest-py3

  latest-mkl-py3

  1.9.0-mkl-py3

Python 2.7与TensorFlow开发工具链

       latest-devel

  latest-devel-mkl

  1.9.0-devel-mkl

Python 2.7与TensorFlow开发工具链

       latest-devel-py3

  latest-devel-mkl-py3

  1.9.0-devel-mkl-py3

  发行说明

  这些发行说明仅适用于构建支持英特尔®MKL-DNN的TensorFlow时引入的更改。有关TensorFlow 1.9中引入的功能和修复,请参阅TensorFlow 1.9 发行说明

  新功能和可用性改进

  新功能

  •   使用MKL构建时更改了inter_op_parallelism_threads默认值,以避免线程过度订阅。

  •   添加了默认的OpenMP* OMP设置,在使用MKL内核时,这些设置可以提高性能。

  •   增加了查询CPUID的功能,以保证Intel 64位体系结构上每个物理内核上的超线程数量。

  绩效改进

  •   将英特尔MKL-DNN升级至版本0.14。

  •   将KMP_BLOCKTIME 环境变量更改为0。

  •   增加默认的inter_op_parallelism_threads参数以避免过于保守。

  •   通过重用MKL-DNN原语来增强Conv2d 性能。

  其他变化

  •   删除了已弃用的StringPiece 类的使用。

  •   更新了基于64字节对齐的tensorflow / compiler / aot测试

  •   更新了Tensor.Slice_Basic 以进行64字节对齐

  •   更新了ScopedAllocatorConcatOpTest.Reshape 以进行64字节对齐

  Bug修复

  •   修复了MKL_ML 操作的注册问题。

  •   修复了BFCAllocator : Extend 对齐问题。

  •   修复了使用旧版本gcc时与MklConcat 相关的构建问题。

  •   修复了AVX512版本中的对齐崩溃问题。

  •   修复了convrnn 单元测试失败的问题。

  •   修复了 mkl_layout_pass_ 测试失败的问题

  •   修复了启用MKL-DNN构建时util_cuda_kernel_helper_test_gpu 失败的问题。

  •   修复了内存分配检查失败下的英特尔MKL-DNN单元测试问题。

  •   修复了// tensorflow / python / profiler:model_analyzer_test中的失败问题

  •   修复了在Mac上查找libhdfs.so 时的错误; Mac OS使用libhdfs.dylib。

  •   修复了不需要重新排序时mkl_input_conversion 操作中的错误。

  •   设置EIGEN_MAX_ALIGN_BYTES = 64 以防止在使用AVX512支持编制时执行单元测试期间发生崩溃。

  •   修复了单元测试single_machine_test.cc,因为启用了英特尔MKL-DNN时插入了特殊节点。

  已知问题

  •   TensorFlow 1.9分支后修复了以下问题:

  •   使用gcc6.3构建,在链接时未定义对'dladdr'的引用。

  •   使用英特尔MKL-DNN时,Concat-related ops在混合格式/布局中失败

  •   MklConv2DWithBiasBackpropBias只可以在使用英特尔MKL-ML进行编译时注册。

0
相关文章