MPSCNNConvolution

1.初始化时传人 UnsafePointer<Float> 时要传入w,不能是 &(w[0]).否则w其实传入失败,卷积的结果是nan或inf.

原因可能是 &(w[0])其实只引用了w[0]这一个元素,把w[0]当成整体来看.与C不同。。。

  let w:[Float] = xxxx
conv = MPSCNNConvolution(device: device,
convolutionDescriptor: convDesc,
kernelWeights: w, //!!!!! can not assign to &(w[0])
biasTerms: b,
flags: MPSCNNConvolutionFlags.none)

2. MPSCNNConvolution的kernel只支持half类型,实测MPSImage的format只能是.unorm8 或.unorm16 .float16,.float32不支持

3. 权重的排列顺序:

weights:[outputChannels][kernelHeight][kernelWidth][inputChannels],bias:[outputChannels]

MPSImage

1.内存排列顺序:

a.slices == 1时

channles >= 3 内存中排列为  [r g b a] [r g b a] [r g b a] ,a通道占位

else  a通道不占位

b.slices >1时

最后一个slice不论多少个channels 都是 [r g b a] [r g b a] [r g b a],都占位


最新文章

  1. Mysql远程访问
  2. [django]利用xlwt实现文件下载功能
  3. js中时间戳转化成时间格式
  4. eclipse调试web项目
  5. [C#/.NET]Entity Framework(EF) Code First 多对多关系的实体增,删,改,查操作全程详细示例
  6. Android读取Manifest文件下Application等节点下的metadata自定义数据
  7. [javascirpt] Regex
  8. mvc和webapi同一解决方案调试办法
  9. Oracle Database 12c Release 1 Installation On Oracle Linux 6.4 x86_64
  10. 借腾讯开源 VasDolly,谈谈 Android 签名和多渠道打包的原理!
  11. 关于throw、throws、try--catch的问题
  12. ExcelPower_Helper插件下载与更新日志
  13. codeforces-1132 (div2)
  14. 风火轮SMC532使用
  15. navigator的一些冷知识
  16. 在Django中使用ORM创建图书管理系统
  17. InnoDB 存储引擎的特点及优化方法
  18. @RequestMapping 详解
  19. c++入门之命名空间存在的意义
  20. Fabric运维从入门到精通

热门文章

  1. codeforces_300C_组合数_快速幂
  2. C++调用Com
  3. 基于springmvc、ajax,后台连接数据库的增删改查
  4. FATE HDU - 2159
  5. apacheAB测试指标
  6. Sturts2中Action的搜索顺序
  7. gitlab root 账号 忘记密码如何重置
  8. Python面向对象之面向对象基本概念
  9. type=&quot;application/javascript&quot;
  10. 【Codeforces 489D】Unbearable Controversy of Being