本文基于 kubernetes v1.19 文档,并主要关注 2019 年 以及之后(v1.14-v1.19)出现或者变化状态(比如 alpha -> beta)的特性 容器与工作负载 容器引擎 cri-containerd 已经成熟,在主流的云厂商新建 k8s 集群时大都(如google clout、腾讯云、阿里云)提供了基于 containerd 的创建选项 (另一个选项为 docker)。关于 docker 和 containterd 的关系和区别可以参考这篇文章 docker 推荐安装 19.03.
Kubernetes 1.14 发布了,些版本主要关注可扩展性并支持更多工作负载,带来了 30多项功能增强,其中包括从 beta 到稳定的 10 项功能。亮点包括以下几部分。
Kubernetes v1.16 于 2019 年 9 月发布,大家最需要关注的是部分API将弃用。
内置有自定义的Trainer,像pytorch一样使用tensorflow1.14,具体使用下边会介绍。
Go 语言在 v1.11 开始支持 Modules,本文我们介绍一下 Go 语言各个版本支持 Go Modules 的演进史。
Kubernetes 容器节点漏洞 (CVE-2020-8558) 绕过本地主机边界通告。
对于不同 object 进行分库存储,首先应该将数据与状态分离,即将 events 放在单独的 etcd 实例中,在 apiserver 的配置中加上--etcd-servers-overrides=/events#https://xxx:3379;https://xxx:3379;https://xxx:3379;https://xxxx:3379;https://xxx:3379,后期可以将 pod、node 等 object 也分离在单独的 etcd 实例中。
TensorFlow 是谷歌在 2015 年开源的一个通用高性能计算库。从一开始,TensorFlow 的主要目的就是为构建神经网络(NN)提供高性能 API。然而,借助于机器学习(ML)社区对它的兴趣以及时间上的优势,这个类库演变成了一个完整的 ML 生态系统。
导读: 自 2015 年开源以来,TensorFlow 凭借性能、易用、配套资源丰富,一举成为当今最炙手可热的 AI 框架之一,当前无数前沿技术、企业项目都基于它来开发。 然而最近几个月,TensorFlow 正在经历推出以来最大规模的变化。TensorFlow 2.0 已经推出 beta 版本,同 TensorFlow 1.x 版本相比,新版本带来了太多的改变,最大的问题在于不兼容很多 TensorFlow 1.x 版本的 API。这不禁让很多 TensorFlow 1.x 用户感到困惑和无从下手。一般来讲,他们大量的工作和成熟代码都是基于 TensorFlow 1.x 版本开发的。面对版本不能兼容的问题,该如何去做? 本文将跟大家分享作者在处理 TensorFlow 适配和版本选择问题方面的经验,希望对你有所帮助。内容节选自 《深度学习之 TensorFlow 工程化项目实战》 一书。 文末有送书福利!
选自Github 机器之心编译 参与:Jane W、李泽南 TensorFlow 是一个由谷歌发布的机器学习框架,在这篇文章中,我们将阐述 TensorFlow 的一些本质概念。相信你不会找到比本文更
在不知不觉中,TensorFlow 2.0 beta版本已经发布,你可以通过下述方法安装:
TensorFlow 发布以来,已经成为全世界最广泛使用的深度学习库。但 Tensorflow 1.x 时代最广受诟病的问题是:学习门槛较高、API 重复且复杂、模型部署和使用不够方便。之后,谷歌下定决心改变这一问题,在今年早些时候,发布了 Tensorflow 2.0 的 Alpha 版本。Alpha 版本一经问世,便受到深度学习研究者、开发者和在校学生的好评,其简洁的 API 和快速易上手的特性吸引了更多用户的加入。今天,Tensorflow 官方发布了 2.0 时代的 Beta 版本,标志着 Tensorflow 这一经典的代码库进一步成熟。
要搭建TensorFlow的GPU版本,首先需要的必备条件就是一块能够支持CUDA的NVIDIA显卡,因为在搭建TensorFlow的GPU版本时,首先需要做的一件事就是安装其基础支持平台CUDA和其机器学习库cuDNN,然后在此基础上搭建TensorFlow GPU版本。
去年我们对 Kubernetes 网站进行了优化,加入了多语言内容的支持。贡献者们踊跃响应,加入了多种新的本地化内容:截至 2019 年 4 月,Kubernetes 文档有了 9 个不同语言的未完成版本,其中有 6 个是 2019 年加入的。在每个 Kubernetes 文档页面的上方,读者都可以看到一个语言选择器,其中列出了所有可用语言。
kube-scheduler 是 kubernetes 的调度器,它的主要作用就是根据特定的调度算法和调度策略将 Pod 调度到合适的 Node 节点上去,是一个独立的二进制程序,启动之后会一直监听 API Server,获取到 PodSpec.NodeName 为空的 Pod,对每个 Pod 都会创建一个 binding。
TensorFlow 使用图来表示计算任务. 图中的节点被称之为 op (operation 的缩写). 一个 op 获得 0 个或多个 Tensor, 执行计算, 产生 0 个或多个 Tensor. 每个 Tensor 是一个类型化的多维数组. 例如, 你可以将一小组图像集表示为一个四维浮点数数组, 这四个维度分别是 [batch, height, width, channels].
Kustomize 是一个管理 Kubernetes 配置的开源管理工具。本文通过详细的案例,介绍了如何通过 Kustomize 对配置进行管理,以及使用 Kustomize Base 和 Overlay 的细节,希望对大家有所帮助!
1, 首先我们当然可以直接在tensorflow训练中直接保存为pb为格式,保存pb的好处就是使用场景是实现创建模型与使用模型的解耦,使得创建模型与使用模型的解耦,使得前向推导inference代码统一。另外的好处就是保存为pb的时候,模型的变量会变成固定的,导致模型的大小会大大减小。
[1]Tensorflow实战Google深度学习框架: https://github.com/caicloud/tensorflow-tutorial/tree/master/Deep_Learning_with_TensorFlow/1.4.0
Kubernetes v1.16.15 是 v1.16 系列的最后一个更新,我在之前的周报中也有介绍过。
k8s中的网络策略主要分为原生 NetworkPolicy 和第三方网络插件提供的网络策略。本文将主要分析原生Networkpolicy的网络策略。
本博客实现将自己训练保存的ckpt模型转换为pb文件,该方法适用于任何ckpt模型,当然你需要确定ckpt模型输入/输出的节点名称。
TensorFlow推出2.0版本后,TF2.0相比于1.x版本默认使用Keras、Eager Execution、支持跨平台、简化了API等。这次更新使得TF2.0更加的接近PyTorch,一系列烦人的概念将一去不复返。本文推荐一位大神写的TF2.0的样例代码,推荐参考。
Cgorup文档: https://www.kernel.org/doc/Documentation/cgroup-v1/memory.txt
之前开发过一款人工智能的微信小程序,其功能是拍一张狗狗的照片,识别出狗狗的类别。程序虽小,功能虽然单一,但五脏俱全,涉及到机器学习的各个方面,以及微信小程序的开发,非常适合作为机器学习的上手项目。这个项目是一边学习,一边写出来的,在这个过程中,进一步掌握了机器学习的知识,具体情况请参考我之前写的文章:
1.Tensor介绍 Tensor(张量)是Tensorflow中最重要的数据结构,用来表示Tensorflow程序中的所有数据。Tensor本是广泛应用在物理、数学领域中的一个物理量。那么在Tensorflow中该如何理解Tensor的概念呢? 实际上,我们可以把Tensor理解成N维矩阵(N维数组)。其中零维张量表示的是一个标量,也就是一个数;一维张量表示的是一个向量,也可以看作是一个一维数组;二维张量表示的是一个矩阵;同理,N维张量也就是N维矩阵。 在计算图模型中,操作间所传递的数据都可以看做是Te
将PyTorch模型转换为PaddlePaddle模型需要先把PyTorch转换为onnx模型,然后转换为PaddlePaddle模型。
看了faster rcnn的tensorflow代码,关于fix_variables的作用我不是很明白,所以写了以下代码,读取了预训练模型vgg16得fc6和fc7的参数,以及faster rcnn中heat_to_tail中的fc6和fc7,将它们做了对比,发现结果不一样,说明vgg16的fc6和fc7只是初始化了faster rcnn中heat_to_tail中的fc6和fc7,之后后者被训练。
Kubernetes 中使用节点的本地存储资源有 emptyDir、hostPath、Local PV 等几种方式。这之中,emptyDir 无法持久化数据,hostPath 方式需要手动管理卷的生命周期,运维压力大。因此在某些场景下,如果用户出于性能和运维成本考虑需要使用本地存储,Local PV 似乎是唯一选择。
kubeflow 中采用了 tensorflow serving 作为官方的tensorflow模型接口, TensorFlow Serving是GOOGLE开源的一个服务系统,适用于部署机器学习模型,灵活、性能高、可用于生产环境。 TensorFlow Serving可以轻松部署新算法和实验,同时保持相同的服务器架构和API。
补充知识:TensorFlow:.ckpt文件与.ckpt.meta和.ckpt.index以及.pb文件之间的关系是什么?
ReconFTW是一个简单且功能强大的脚本,ReconFTW能够通过各种技术实现子域名枚举的自动化,并进一步扫描其中可能存在的安全漏洞。扫描完成之后,ReconFTW将给广大研究人员报告潜在的安全漏洞。
深度学习(Deep Learning)第一坑就是机器学习平台的选取和开发环境的安装,以下是重装两次系统后的安装经验。
请先阅读我的上一篇文章《Visual Studio 2017 配置OpenVINO开发环境》,在VS2017中配置好OpenVINO环境。
1 Docker CE v19.03.12 发布 在 Docker v19.03.11 发布时,我在「K8S 生态周报| 几乎影响所有 k8s 集群的漏洞」 ( https://zhuanlan.z
本篇文章就带领大家用最简单地方式安装TF2.0正式版本(CPU与GPU),由我来踩坑,方便大家体验正式版本的TF2.0。
TensorFlow 模型在开发环境中经过训练和验证。一旦发布,它们需要托管在某个地方,提供用工程师和软件工程师使用,以集成到各种应用中。 TensorFlow 为此提供了一个高表现服务器,称为 TensorFlow 服务。
Rancher 2.2.2 发布了。Rancher 是一个开源的企业级 Kubernetes 平台,可以管理所有云上、所有发行版、所有 Kubernetes 集群,解决了生产环境中企业用户可能面临的基础设施不同的困境,改善 Kubernetes 原生 UI 易用性不佳以及学习曲线陡峭的问题。
Spark Operator 支持 Webhook,因为 Spark on Kubernetes 模块对 Pod 的特性支持得太有限了,这个问题主要就是如果通过 Spark Conf 传特性,那么 Spark Conf 就得膨胀,通过 Pod Template 去,又因为 Spark 本身没有对 Template 文件去校验,这样会导致调试很麻烦,而 Webhook 相对比较轻一点,但是也是需要 1.8 以上的 Kubernetes 版本才能用。Webhook 本身的代码量并不多,可以仔细看看,核心代码都在 webhook.go 文件里了。
这是当微信小程序遇上TensorFlow系列文章的第四篇文章,阅读本文,你将了解到:
上一期,我们一起学习了TensorFlow的基础知识,以及其在线性回归上的初体验,该期我们继续学习TensorFlow方面的相关知识。学习的路上,我们多多交流,共同进步。本期主要内容如下: 梯度下降TF实战 模型保存和恢复 TensorBoard可视化 模块与共享变量 一. 梯度下降TF实战 这里我们一起看下TensorFlow在梯度下降中的使用,通过TensorFlow来寻找使得损失函数最小化的系数,我们之前一起学过梯度下降方面的知识,这里不在赘述,可公众号回复“机器学习”进行查看。这里,我们从直接计算和
深度学习第一问是关于环境配置的。之前笔者也在深度学习60讲系列中讲到如何配置深度学习开发环境的问题:深度学习笔记15:ubuntu16.04 下深度学习开发环境搭建与配置。但环境配置并不是一路顺利的,总有些奇奇怪怪的问题让人头疼,所以,在第一问中笔者选取了几个典型的环境配置的错误供大家参考。
AI 科技评论按: 继反复预热以及在今年三月在 TensorFlow 开发者峰会上宣布了 TensorFlow 2.0 Alpha 版(内部测试版)之后,TensorFlow 2.0 Beta 版(公开测试版)也终于在今天发布了。
领取专属 10元无门槛券
手把手带您无忧上云