-
取回操作的输出内容,可以在使用Session对象的run()调用 执行图时,传入一些tensor,这些tensor会帮助你取回结果,在之前的例子里,我们只取回了单个节点state,但是你也可以取回多个tensor:input1=tf.constant(3.0) input2=tf.constant(2.0) input3=tf.constant(5.0) intermed=tf.add(input2,input3) mul=tf.mul(input,intermed) with tf.Session() as sess: result=sess.run([mul,intermed]) print(result) # 输出: # [array([21.],dtype=float32),array([7.],dtype=float32)] 需要获取的多个tensor值,在op的一次运行中一起获得(而不是逐个去获取tensor)
-
TensorFlow 的 Python 版本使用最为广泛。作为一个 Python 包,TensorFlow 和其他 Python 包的安装方法区别不大,使用 Python 的包管理器 pip 即可。具体步骤如下: 1. 安装 Python 环境。此处建议安装 Anaconda 。这是一个开源的 Python 发行版本,提供了一个完整的科学计算环境,包括 NumPy、SciPy 等常用科学计算库。当然,你有权选择自己喜欢的 Python 环境。 2. 使用 Anaconda 自带的 conda 包管理器建立一个 Conda 虚拟环境,并进入该虚拟环境。在命令行下输入以下命令:# 建立虚拟环境# “tf2.0”是你建立的 Conda 虚拟环境的名字# python=3.7 代表该虚拟环境的 Python 版本为 3.7conda create --name tf2.0 python=3.7# 进入名为“tensorflow”的虚拟环境conda activate tf2.0 3. 使用 Python 包管理器 pip 安装 TensorFlow。在命令行下输入以下命令: pip install tensorflow==2.0.0-beta1 # TensorFlow CPU 版本
-
一 TensorFlow 使用 张量(Tensor)作为数据的基本单位。二 TensorFlow 的张量在概念上类似于多维数组,我们可以使用它来描述数学中的标量(0 维数组)、向量(1 维数组)、矩阵(2 维数组)等各种量。三 张量的重要属性是其形状、类型和值。可以通过张量的shape、dtype属性和numpy()方法获得。
-
通过Docker运行TensorFlow 该方式的优点是不用操心软件依赖问题。方法 首先,安装Docker,一旦Docker已经启动运行,可以通过命令启动一个容器:$ docker run -it b.gcr.io/tensorflow/tensorflow 该命令将启动一个已经安装好的TensorFlow及相关依赖的容器。其它镜像 默认的 Docker 镜像只包含启动和运行 TensorFlow 所需依赖库的一个最小集. 我们额外提供了 下面的容器, 该容器同样可以通过上述 docker run 命令安装: b.gcr.io/tensorflow/tensorflow-full: 镜像中的 TensorFlow 是从源代码完整安装的, 包含了编译和运行 TensorFlow 所需的全部工具。 在该镜像上, 可以直接使用源代码进行实验, 而不需要再安装上述的任何依赖.
-
我们推荐使用virtualenv创建一个隔离的容器,来安装TensorFlow,这是可选的,但是这样做能使排查安装问题变得更容易。 首先,安装所有必备工具:# 在Linux上: $ sudo apt-get install python-pip python-dev python-virtualenv # 在Mac上: $ sudo easy_install pip #没有安装pip则安装 $ sudo pip install --upgrade virtualenv 接下来,建立一个全新的virtualenv环境,为了将环境建在~/tensorflow目录下,执行:$ virtualenv --system-site-packages ~/tensorflow $ cd ~/tensorflo 然后,激活virtualenv:$ source bin/activate #如果使用bash $ source bin/activate.csh #如果使用csh (tensorflow)$ #提示符将变化为tensorflow
-
Pip 安装 首先安装 pip (或 Python3 的 pip3 ):# Ubuntu/Linux 64-bit $ sudo apt-get install python-pip python-dev # Max OS X $ sudo easy_install pip安装TensorFlow# Ubuntu/Linux 64-bit, CPU only, Python 2.7: $ sudo pip install --upgrade # Ubuntu/Linux 64-bit, GPU enabled, Python 2.7 Requires CUDA toolkit 7.5 and CuDNN v4. # For other versions, see "Install from sources" below. $ sudo pip install -upgrade -0.8.0-cp27-none-linux_x86_64.whl # Mac OS X, CPU only: $ sudo easy_install --upgrade six $ sudo pip install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py2-none-any.whl如果是Python3# Ubuntu/Linux 64-bit, CPU only,Python 3.4: $ sudo pip3 install --upgrade # Ubuntu/Linux 64-bit, GPU enabled, Python 3.4. Requires CUDA toolkti 7.5 and CuDNN v4. # For other versions, see "Install from sources" below. $ sudo pip3 install --upgrade # Mac OS X, CPU only: $ sudo easy_install --upgrade six $ sudo pip3 install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.8.0-py3-none-any.whl备注:如果之前安装过TensorFlow<0.7.1的版本,应该使用pip uninstall卸载TensorFlow和protobuf,保证获取的是一个最新protobuf依赖下的安装包。
-
最近的项目用到了mindspore框架,关于如何手把手在自己电脑上运行一个完整的例子,大家可以去官网中的教程中查看:https://www.mindspore.cn/tutorial/training/zh-CN/master/quick_start/quick_start.html你也可以直接跳过基础版,使用进阶版,如何利用华为载有Ascend(昇腾910,华为自研的人工智能芯片)的服务器上运行代码,大家按照这个例子来:https://www.mindspore.cn/tutorial/training/zh-CN/master/advanced_use/use_on_the_cloud.html#ai这里有几个问题需要大家注意一下:1.如何创建OBS桶;2.如何创建训练任务;3.深入认识--data_url和--train_url这两个参数,这两个参数需要你在自己的代码中进行一个重写,即你加载的数据集以及训练的输出是需要在代码中给出参数的,不必赋值(赋值在创建训练任务的的时候自动进行),写出即可:例://-----------------------------------------------------------------------------------------------------//下面是我在项目过程中遇到的一些问题和相应的解决方法:1.最开始,我是参照这个链接来运行(这是另一种使用服务器的方法,即不用在线创建训练作业)的,教你如何在Pycharm上使用相关toolkit使用modelarts(即华为的服务器平台),但是我忽略了一点,这个例子中使用的深度学习框架是MXNet,我仿照他的方式对我使用mindspore框架的源码进行修改,最关键的部分就是参考它是如何将 数据集路径 加载进来的,仿照他的方式改好后,产生了第一个令我头大的问题:ValueError: The folder s3://modelarts-zjw/Mnist_data/train/ does not exist or permission denied!,即我的路径是不存在的或者没有访问权限,我分别再代码里添加了1.os.file.exist(path),来检验是否存在,输出True2.os.access(path,R_OK),检验是否有权限读取,输出False事实证明,问题出现在了这里,这个问题我尝试解决了很久,但没有能够解决,因为是mindspore的源码报错,后来官方给的说法是,使用Pycharm这种方法确实不行,原因大概是,服务器在执行时,会在服务器本地创建一个桶的虚拟映射(类似缓存),进而达到访问桶中数据的目的,通过在网页上创建训练任务可以完成这种映射,但是在pycharm上不可以,目前只在使用mindspore框架时遇到了这种问题。所以建议大家不要用pycharm,还是直接在网页上创建训练任务比较靠谱。//------------------------------------------------------------------------------------------------------//1.自定义 callback 类我们可以理解为回调函数,正是通过这种回调函数可以实现我们对训练过程中的参数进行打印,举个例子: class EvalCallBack(Callback): def __init__(self, batch_size): super(EvalCallBack, self).__init__() self.batch_size = batch_size self.last_step = 0 self.epoch_begin_time = 0 def step_begin(self, run_context): self.step_begin_time = time.time() #在每一个step开始时,获取当前时间 def step_end(self, run_context): step_time = time.time() - self.step_begin_time #在每一个step结束时,计算每个step花费的时间 print(f'step time: {step_time}') def epoch_begin(self, run_context): self.epoch_begin_time = time.time() #在每一个epoch开始时,获取当前时间 def epoch_end(self, run_context): params = run_context.original_args() cost_time = time.time() - self.epoch_begin_time train_steps = params.cur_step_num -self.last_step #获取epoch结束时一共经过了多少个step print("----") print(f'epoch {params.cur_epoch_num} cost time = {cost_time}, train step num: {train_steps}, ' f'one step time: {1000*cost_time/train_steps} ms, ' ) self.last_step = run_context.original_args().cur_step_num这里值得注意的是:step_num = len(dataset) // batch_size 还有loss,也可以通过回调来进行打印loss = LossMoniter()这样就可以实现每一个step结束后,打印这个step的loss值def epoch_end(self, run_context): params = run_context.original_args() cost_time = time.time() - self.epoch_begin_time loss = params.net_outputs train_steps = params.cur_step_num -self.last_step #获取epoch结束时一共经过了多少个step print("----") print(f'epoch {params.cur_epoch_num} cost time = {cost_time}, train step num: {train_steps}, ' f'one step time: {1000*cost_time/train_steps} ms, ' f'loss: {loss}' ) self.last_step = run_context.original_args().cur_step_num2.自定义保存ckpt文件和计算图#这里解释一下这两个参数, 1.save_checkpoint_steps:每xx个step保存一次ckpt文件2.keep_checkpoint_max:最多保存多少个ckpt文件,从最后一个算起,最先保存的会被删掉 config_ck = CheckpointConfig(save_checkpoint_steps = 900, keep_checkpoint_max = 10) #1.prefix:ckpt文件的名称#2.directory:模型保存的位置,我们又见到了train_url这个参数#3.config_ck:配置方式 ckpoint_cb = ModelCheckpoint(prefix = "checkpoint_lenet", directory=args.train_url, config = config_ck)这里又有一个小问题,就是,我发现即使我的路径是完全没得问题的,但是当模型运行结束后,我去查看我桶中特定的路径,并没有发现保存的文件。于是我就采用了这样的方式import moxmox.file.shift('os', 'mox')#将原有的os文件操作替换为mox,(如果需要) print(f'Start save model')local_checkpoint_path = './cache/model_path' #在服务器上设置一个文件夹,用来暂时保存模型config_ck = CheckpointConfig(save_checkpoint_steps = 900, keep_checkpoint_max = 10)ckpoint_cb = ModelCheckpoint(prefix = "checkpoint_lenet", directory=local_checkpoint_path, config = config_ck)#注意这里将模型先保存在服务器中的文件夹mox.file.copy_parallel(src_url=local_checkpoint_path, dst_url=args.train_url)#再将服务器文件夹里的文件copy到桶里的文件夹注意:MoXing是华为云ModelArts团队自研的分布式训练加速框架,它构建于开源的深度学习引擎TensorFlow、MXNet、PyTorch、Keras之上。 相对于TensorFlow和MXNet原生API而言,MoXing API让模型代码的编写更加简单,允许用户只需要关心数据输入(input_fn)和模型构建(model_fn)的代码,即可实现任意模型在多GPU和分布式下的高性能运行,降低了TensorFlow和MXNet的使用门槛。另外,MoXing-TensorFlow还将支持自动超参选择和自动模型结构搜索,用户无需关心超参和模型结构,做到模型全自动学习。学习链接:https://github.com/huaweicloud/ModelArts-Lab/tree/master/docs/moxing_api_doc————————————————原文链接:https://blog.csdn.net/qq_41368074/article/details/109790513
-
漏洞名称 : Google TensorFlow远程代码执行漏洞 CVE-2021-37678组件名称 : Google TensorFlow影响范围 : Google TensorFlow < 2.6.0漏洞类型 : 远程代码执行利用条件 :1、触发方式:远程2、利用条件:需要用户运行有漏洞的机器学习模型项目综合评价 :<综合评定利用难度>:中等,需要用户运行有漏洞的机器学习模型项目。<综合评定威胁等级>:高危,能造成远程代码执行。漏洞分析:1、组件介绍Google TensorFlow 是美国谷歌(Google Chrome)公司的一套用户机器学习的端到端开源平台。Google TensorFlow 是拥有一个全面而灵活的生态系统,其中包含各种工具、库和社区资源,可助力研究人员推动先进机器学习技术的发展,并使开发者能够轻松地构建和部署由机器学习提供支持的应用。2、漏洞描述2021年8月23日,深信服安全团队监测到一则Google TensorFlow组件存在远程代码执行漏洞的信息,漏洞编号:CVE-2021-37678,漏洞威胁等级:高危。该漏洞是由于从yaml格式反序列化 Keras 模型时,未对输入的数据做有效验证,攻击者可利用该漏洞构造恶意数据,造成远程代码执行攻击。影响范围:Google TensorFlow 是著名的机器学习模型,在机器学习领域应用比较广泛。目前受影响的Google TensorFlow版本:Google TensorFlow < 2.6.0解决方案:1、如何检测组件系统版本在 cmd 界面输入:python 在 python 环境中输入 :import tensorflow as ftft.__version__即可得到版本号。2、官方修复建议当前官方已发布最新版本,建议受影响的用户及时更新升级到最新版本。链接如下:https://github.com/tensorflow/tensorflow/releases参考链接:1.https://github.com/tensorflow/tensorflow/security/advisories/GHSA-r6jx-9g48-2r5r2.https://github.com/tensorflow/tensorflow/releases
-
yolov3在移植过程中,我只保留了tensorflow 最后输出的卷积层,本模型输出为NHWC 和float32,我都在最后利用transpose和cast算子该为NCHW和float16,然后根据文档在pbtxt中添加相关结构,再转为pb文件移植的时候出现错误,见下图
-
做机器学习和深度学习第一步即搭建环境,现有的一些成熟框架大部分为国外开发,使用起来很不友好。初入学习,仅仅是想在现有环境下复现一下代码,当初搭建这个用了三天才弄好,看了无数的教程贴,尝试了各种方法,仅做学习记录和分享。以windows10+anaconda+tensorflow2.3.0+python3.7为例电脑硬件及系统要求:NVIDIA显卡、显卡驱动>418.X、CUDA版本为10.1、cudnn版本>7.6环境管理必备Anaconda软件,使用教程网上一堆(安装很简单,环境变量最好手动添加,安装好之后首先换源)CPU版本搭建#创建名为tensorflowcpu,python版本为3.7的环境conda create -n tensorflowcpu python=3.7 -y#激活tensorflowcpu环境activate tensorflowcpu#从豆瓣源下载CPU版本依赖包pip install tensorflow-cpu==2.3.0 -i https://pypi.douban.com/simple/GPU版本搭建#创建名为tensorflowgpu,python版本为3.7的环境conda create -n tensorflowgpu python=3.7 -y#激活tensorflowgpu环境activate tensorflowgpu#安装cuda、cudnn环境包conda install cudatoolkit=10.1conda install cudnn=7.6.5#从豆瓣源下载gpu版本依赖包pip install tensorflow-gpu==2.3.0 -i https://pypi.douban.com/simple/搭建完成,开始跑代码。
-
常见图像处理的任务 1、分类 给定一副图像,我们用计算机模型预测图片中有什么对象。 2、分类与定位 我们不仅要知道图片中的对象是什么,还要在对象的附近画一个边框,确定该对象所处的位置。 3、语义分割区分到图中每一点像素点,而不仅仅是矩形框框住。 4、目标检测 目标检测简单来说就是回答图片里面有什么?分别在哪里?(并把它们使用矩形框框住) 5、实例分割 实例分割是目标检测和语义分割的结合。相对目标检测的边界框,实例分割可精确到物体的边缘;相对语义分割, 实例分割需要标出图上同一物体的不同个体。图像定位:对于单纯的分类问题,比较容易理解,给定一幅图片,我们输出一个标签类别。而定位有点复杂,需要输出四个数字(x,y,w,h),图像中某一个点的坐标(x,y),以及图像的宽度和高度,有了这四个数字,我们就很容易的找到物体的边框。The OXford-IIIT Pet Dateset是一个宠物图像数据集,包含37种宠物,每种宠物200张左右图片,包含宠物分类,头部轮廓标注和语义分割。
-
产业Gautier以达索系统“HomeByMe for Home Retailers”提供个性化客户体验在家居销售中采用全渠道策略,能有力地增进客户交付,促成购买决定。在当前疫情环境下这是促进销售的重要推动力量。2021/03/29 20:03原文链接如何建设基于智能制造的「可持续制造」模式?OECD围绕这套理论构建了一系列标准和程序,而推动可持续制造模式的发展,还需要更加科学的评估方法,帮助制造企业权衡取舍,构建可持续制造体系。2021/03/29 11:01原文链接入门“中关村智用人工智能伙伴计划”报名已开放,八大服务助力AI落地中关村智用人工智能伙伴计划”(简称计划)报名已于2021年3月1日正式开放(报名链接:http://aizgc.org.cn/#/zhiyong/friend),并得到了人工智能产业各界的关注。2021/03/29 18:19原文链接工程快速可微分排序算法PyTorch包,配有自定义C ++和CUDA,性能更好你可以使用 Torchsort 轻松实现 Spearman 等级系数。2021/03/29 15:52原文链接比PyTorch、TensorFlow更快,MindSpore开源一周年升级巨量新特性MindSpore很多的新特性马上要与大家见面了!2021/03/29 15:45原文链接理论谁说GPT只擅长生成?清华、智源等研究力证:GPT语言理解能力不输BERT谁说GPT看不懂人话?GPT:我装的2021/03/29 15:48原文链接
-
1. 环境配置项目版本CPUKunpeng 920OS麒麟V10 SP1Python3.7.4 2. 安装TensorFlow步骤1:安装依赖包yum install hdf5 hdf5-devel openblas python3-h5py -y 步骤2:下载python3.7版本的whl文件wget https://github.com/lhelontra/tensorflow-on-arm/releases/download/v2.2.0/tensorflow-2.2.0-cp37-none-linux_aarch64.whl 步骤3:查看pip3是否属于python 3.7pip3 -V 步骤4:pip安装grpciopip3 install grpcio 步骤5:通过wheel文件安装TensorFlowpip3 install tensorflow-2.2.0-cp37-none-linux_aarch64.whl 3. 运行验证
-
选的模型时6月培训视频中提到的mobilenet_v2_1.0_224模型文件,但是选择模型文件就会报错误
-
问题描述:tensorflow模型冻结pb文件后使用Mindstudio转换为om模型后部署,部署后的模型精度无损失(未量化)但是速度损失。该模型需求算力如下报告中所示,MDC标称峰值算力16T(int8),该模型部署后算力利用率极低。==================Model Analysis Report======================Doc:scope: The nodes in the model graph are organized by their names, which is hierarchical like filesystem.param: Number of parameters (in the Variable).Profile:node name | # parameters_TFProfRoot (--/0 params)======================End of Report==========================FLOPs: 7570440192; Trainable params: 0GFLOPs: 7.570440192; Trainable params: 0TFLOPs: 0.007570440192; Trainable params: 0相关细节:模型为tensorflow1.12.0的bisenetv2
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签