首先说下mindspore,作为华为的主打软件产品,该计算框架可用性一直较差,不同版本不同计算硬件下的代码往往都不是完全兼容的,也就是说你在mindspore的官网上找到的VGG预训练模型的代码是mindspore-1.5.0的版本在ascend平台的,如果你用mindspore-gpu-1.9.0的版本就无法运行,这是mindspore最常见的错误问题,因此mindspore在VGG16前向传播的性能表现为零,因为根本就无法运行官方的源代码,除非你手动去修改mindspore的框架代码,这事情我去年是会这么干的,今年我说啥也不会干了。如果你给一个开源的产品提了N多的意见,结果过好久一看,啥变化没有,如果非说有变化那就是变得越来越差了,那估计换谁也都不会支持了。

TensorFlow这里使用的是1.14.0版本,由于TensorFlow在1.x和2.x之间上的巨大差异,以及2.x版本的较差使用性,因此这里使用的是TensorFlow的作为经典的版本1.14.0,当然并没有使用TensorFlow的最新版本来比较对于TensorFlow来说并不很公平,但是TensorFlow2.x版本的相关代码和技术博客基本已经从互联网上绝迹,作为一个几乎要濒临灭绝的计算框架在这里使用旧版本也是实属无奈。相关代码参考:

【转载】 Tensorflow如何直接使用预训练模型(vgg16为例)

Pytorch

运行版本gpu1.13.0:

import torch
from torchvision import datasets, models, transforms
import numpy as np # with torch.no_grad():
# model_ft = models.vgg16(pretrained=True).to("cuda:1")
model_ft = models.vgg16(pretrained=True).to("cuda:1") batchsize=32 import time
a_time = time.time()
for _ in range(500):
images = np.random.random(batchsize*224*224*3).reshape(batchsize,3,224,224)
model_ft(torch.tensor(images, dtype=torch.float32, device='cuda:1')) print(time.time()-a_time)

=====================================

运行硬件平台:

CPU: 5.0Ghz下的因特尔10700k

GPU: RTX2070SUPER

其他参数:

batch_size=32

迭代次数:500

对比结果:

mindspore-gpu-1.9.0版本的性能表现:0分(根本无法运行)

TensorFlow-gpu-1.14.0版本的性能表现:用时170秒

Pytorch-gpu-1.13.0版本的性能表现:用时42秒

 

================================================

PS: 可以看到在现如今的深度学习框架问题上,不论是易用性还是整体性能上pytorch都已经成为了当之无愧的NO.1,虽然TensorFlow也还能用,不过已经在多个方面上被pytorch超越了,如果非说pytorch有不如TensorFlow的地方那估计也就是曾经的历史遗留的项目了,而至于mindspore的gpu版本这里基本可以认为是不可用的状态,当然mindspore框架的主要定位目标平台是ascend平台,所以或许mindspore在ascend平台上会有截然不同的表现也是不可知晓的。

---------------------------------------------------

tensorflow/pytorch/mindspore在VGG16前向传播上的性能对比的更多相关文章

  1. 吴裕雄 python 神经网络——TensorFlow 三层简单神经网络的前向传播算法

    import tensorflow as tf w1= tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1)) w2= tf.Variable( ...

  2. Tomcat 7优化前及优化后的性能对比

    Tomcat 7在我们日常开发.测试.生产环境都会使用到,但对于大部分开发人员来说,对其性能还是没有多大了解.本文就对它做一次性能测试,对比优化前后的性能区别. 一.运行环境 CPU: Intel(R ...

  3. TensorFlow笔记-04-神经网络的实现过程,前向传播

    TensorFlow笔记-04-神经网络的实现过程,前向传播 基于TensorFlow的NN:用张量表示数据,用计算图搭建神经网络,用会话执行计算图,优化线上的权重(参数),得到模型 张量(tenso ...

  4. Tensorflow实现神经网络的前向传播

    我们构想有一个神经网络,输入为两个input,中间有一个hidden layer,这个hiddenlayer当中有三个神经元,最后有一个output. 图例如下: 在实现这个神经网络的前向传播之前,我 ...

  5. tensorflow 模型前向传播 保存ckpt tensorbard查看 ckpt转pb pb 转snpe dlc 实例

    参考: TensorFlow 自定义模型导出:将 .ckpt 格式转化为 .pb 格式 TensorFlow 模型保存与恢复 snpe tensorflow 模型前向传播 保存ckpt  tensor ...

  6. Tensorflow笔记——神经网络图像识别(一)前反向传播,神经网络八股

      第一讲:人工智能概述       第三讲:Tensorflow框架         前向传播: 反向传播: 总的代码: #coding:utf-8 #1.导入模块,生成模拟数据集 import t ...

  7. 实现属于自己的TensorFlow(一) - 计算图与前向传播

    前段时间因为课题需要使用了一段时间TensorFlow,感觉这种框架很有意思,除了可以搭建复杂的神经网络,也可以优化其他自己需要的计算模型,所以一直想自己学习一下写一个类似的图计算框架.前几天组会开完 ...

  8. tensorflow学习笔记(1)-基本语法和前向传播

    tensorflow学习笔记(1) (1)tf中的图 图中就是一个计算图,一个计算过程.                                       图中的constant是个常量 计 ...

  9. [源码解析]PyTorch如何实现前向传播(1) --- 基础类(上)

    [源码解析]PyTorch如何实现前向传播(1) --- 基础类(上) 目录 [源码解析]PyTorch如何实现前向传播(1) --- 基础类(上) 0x00 摘要 0x01 总体逻辑 0x02 废弃 ...

  10. [源码解析]PyTorch如何实现前向传播(2) --- 基础类(下)

    [源码解析]PyTorch如何实现前向传播(2) --- 基础类(下) 目录 [源码解析]PyTorch如何实现前向传播(2) --- 基础类(下) 0x00 摘要 0x01 前文回顾 0x02 Te ...

随机推荐

  1. Apollo quick start SampleApp demo Java

    <!--配置中心--> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <a ...

  2. 端口占用,无法通过netstat找到进程,占用的端口又不能修改,该怎么办?

    最近遇到一个奇葩的问题,项目跑的好好的,没有安装其它特殊软件,突然服务器启动报错,日志如下,显然是服务器的8080端口占用了. Caused by: java.net.BindException: A ...

  3. BST-Treap名次树指针实现板子 Ver2.1

    为了更好的阅读体验,请点击这里 这里只有板子没有原理QWQ 可实现 1.插入 x 数 2.删除 x 数(若有多个相同的数,只删除一个) 3.查询 x 数的排名(排名定义为比当前数小的数的个数 +1) ...

  4. 【Autoware】Autoware安装教程

    此篇主要是从自己的csdn copy 在博客园上备份一下哈~ 前提:大家需要换源[软件源和pip源]:git clone的时候走博主给的Gitee的链接吧 不然得等个十万年... 如果想看最终是啥样的 ...

  5. T3/A40i升级,推荐全志T507-H的5个理由!

    作为能源电力.工业自动化领域的国产中坚力量,全志T3/A40i处理器国产平台一直深受广大客户的喜爱,甚有"国产工业鼻祖处理器"之称.自创龙科技推出T3/A40i全国产工业核心板(S ...

  6. ELK日志缺失问题排查-Logstash消费过慢问题

    1. 背景 另外一个推荐系统的推荐请求追踪日志,通过ELK收集,方便遇到问题时,可以通过唯一标识sid来复现推荐过程 在一次上线之后,发现日志大量缺失,缺失率达90%,确认是由上线引起的,但因为当时没 ...

  7. 如何将自己的网站从 HTTP 的转换为 HTTPS 的

    1. 获取 SSL/TLS 证书 首先,你需要获得一个 SSL/TLS 证书.你可以从以下来源之一获取证书: 免费证书: Let's Encrypt:一个免费的.自动化的证书颁发机构(CA),广泛使用 ...

  8. joigsc2022_e 题解

    翻译 有长度为 \(n\) 的序列 \(a\) 和 \(L\),你需要对于每个 \(x \in[1,n]\) 求出若把第 \(x\) 个数到第 \(n\) 个数依次装入容量为 \(L\) 的箱子中(每 ...

  9. SpringBoot排查自动装配、Bean、Component、Configuration配置类

    排除自动装配AutoConfiguration @SpringBootApplication( exclude = { DataSourceAutoConfiguration.class, Mybat ...

  10. yb课堂 订单列表开发,完结 《四十五》

    Order.vue <template> <div class="main"> <!--订单列表--> <div class=" ...