前言
我们经常遇到一种情况,就是废了很大的精力和时间通过程序算取的数值,在程序结束后就会被销毁,而下次再想使用则需要再算一遍。通用的存储这些值的方法为把他们以文本的方式存到文件中,之后需要的时候再读取。然而这种方式的效率实在是比较低,python 为我们提供了一个将值存储到 2进制文件的方案,其速度亲测可以快 3 倍左右。
我们经常遇到一种情况,就是废了很大的精力和时间通过程序算取的数值,在程序结束后就会被销毁,而下次再想使用则需要再算一遍。通用的存储这些值的方法为把他们以文本的方式存到文件中,之后需要的时候再读取。然而这种方式的效率实在是比较低,python 为我们提供了一个将值存储到 2进制文件的方案,其速度亲测可以快 3 倍左右。
之前的入门部分的 Estimator介绍了如何使用预训练模型,对整体有了一个直观的感受感受。在这部分中着重讲解如何创建自定义 Estimator。
借助这个 API 可以较为快速的入门数据导入的部分。自定义数据输入可以说是跑任何模型必须要会的部分。学习这部分 API 是入门 Tensorflow跳不过的部分。本部分和之前的 Tensorflow 部分一样,主要是筛选自官方教程,意在跳出自己认为核心的入门内容,抛去复杂的细节,以求快速入门。
Estimator 使用来简化机器学习训练、评估、预测的一个高阶 TensorFlow API。我们可以使用预创建的 Estimator,也可以自己编写自定义的 Estimator,但是所有的 Estimator 都是基于 tf.estimator.Estimator
类的类。
IPdb 是一个 python 用的 “gdb” 超级好用,如果你的编辑环境中懒得装 IDE,或者工作环境没有图形化界面的话,这个工具简直就是为你量身定制的。我已经把这个工具融入到了自己的 VIM 脚本中,成为日常码农生活的一份子。
在 Keras 中配置多 GPU 并行计算的时候,报错 libnccl.so.2 not found
。简单的来说就是 Tensorflow 多 GPU 运行的话使用了一个 NCCL 2.x 的库,但是不是默认安装的,同时又由于NCCL 2.x是动态加载的,因此不会影响不调用NCCL原语的程序,也就是说直到你第一次尝试多 GPU 为止都不会发现这个问题。
1 |
|
1 |
|
1 |
|