layer

一篇来自前端同学对后端接口的吐槽

最后都变了- 提交于 2020-08-11 03:05:47
云栖号资讯:【 点击查看更多行业资讯 】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 前言 去年的某个时候就想写一篇关于接口的吐槽,当时后端提出了接口方案对于我来说调用起来非常难受,但又说不上为什么,没有论点论据所以也就作罢。最近因为写全栈的缘故,团队内部也遇到了一些关于接口设计的问题,于是开始思考实现接口的最佳实践是什么。在参考了许多资料之后,逐渐对这个问题有了自己的理解。同时回想起过去的经验,终于恍然大悟自己当时的痛点在哪里。 既然是吐槽,那么请原谅我接下来态度的不友善。本文中列举的所有例子都是我个人的亲身经历。 谁应该主导接口的设计 或者更直白一些,应该是接口的消费方还是提供方来决定接口的设计? 当然是接口的消费方 「接口」最吊诡的地方在于提供方大费周章把它实现了,但它自己却(几乎)重来都不使用。于是这极易陷入一种自嗨的境地,因为他更本不知道接口的好坏。就好比一个从来不尝自己做的菜的厨子,你指望他的菜能好到哪里去,他的厨艺能好到哪里去。上面隐含的前提是(我认为)接口是有绝对好坏之分的,坏的接口消费者调用难受,提供者维护难受,还导致产品行为别扭体验变差。 然而接口的好坏与谁来主导设计有什么关系?因为坏接口产生的原因之一是提供方只站在开发者的角度解决问题: 例子一 (Chatty API) 某次需要实现允许用户创建仪表盘页面的功能

GAN网络之入门教程(三)之DCGAN原理

余生颓废 提交于 2020-08-11 02:54:11
目录 DCGAN简介 DCGAN的特点 几个重要概念 下采样(subsampled) 上采样(upsampling) 反卷积(Deconvolution) 批标准化(Batch Normalization) 激活函数 G模型 总结 参考 如果说最经常被用来处理图像的网络模型,那么毋庸置疑,应该是CNN了,而本次入土教程的最终目的是做一个动漫头像生成的网络模型,因此我们可以将CNN与GAN结合,也就是组成了传说中的DCGAN网络。 DCGAN简介 DCGAN全称 Deep Convolutional Generative Adversarial Networks ,中文名曰深度卷积对抗网络。论文地址在 这里 。 因为DCGAN是不仅与GAN有关还与CNN有关,因此,如果不是很了解的CNN的话,建议先去看一看CNN相关的知识,也可以参考一下我以前的博客。 数据挖掘入门系列教程(十一点五)之CNN网络介绍 数据挖掘入门系列教程(十二)之使用keras构建CNN网络识别CIFAR10 这里我们可以在复述一下CNN的相关知识和特点。 CNN我们可以理解为如下的行为,逐层深入"抽丝剥茧”地“理解”一张图片或其他事物。图片经过CNN网络中的一系列layer,逐渐的对图像进行细化,最终将图像从一个大的维度变成一个小的维度。在DCGAN中, 判别器 实际上就是一个CNN网络。输入一张图片

Banana Pi BPI-F2S Xilinx Artix-7 FPGA 学习与教育开发套装

别说谁变了你拦得住时间么 提交于 2020-08-11 01:00:31
主板采用Banana Pi BPI-F2S 主板,板上有FPGA接口。采用Xilinx Artix-7 XC7A100T FPGA芯片方案。提供完善的软件与学习资料。 Banana Pi FPGA 学习与教育开发套装 香蕉派BPI-F2S 是 香蕉派团队 and 凌阳科技首次合作开发的一款工业级应用的开发板, 使用SP7021芯片设计.具有高性能,低功耗的特点; 内嵌 Linux Embed 系统,适合于语音图像处理、通信、便携式工业控制设备等应用场合。 自带高性能处理器,特别适合 AI 人工智能,机器视觉等需要强大运算力的应用;外扩 FPGA 模组,可提供硬件加速,芯片 IP 验证及 SOC 科研及教学应用; BPI-F2S开发板集具有集成度高,优良的布线布局,板面积很小,易于现场测试应用 FPGA子板: FPGA Module with Xilinx Artix-7 100T (Variant 2D), 2 x 50 Pin, 1.8V only supply Now with the Trenz Electronic TE0725LP-01-100-2D is a low cost small-sized FPGA module integrating a Xilinx Artix-7 (15T-100T) and 32 MByte Flash memory for

使用BERT模型生成token级向量

拥有回忆 提交于 2020-08-11 00:58:36
本文默认读者有一定的Transformer基础,如果没有,请先稍作学习Transormer以及BERT。 相信网上有很多方法可以生成BERT向量,最有代表性的一个就是bert as service,用几行代码就可以生成向量,但是这样生成的是句向量,也就是说,正确的做法是输入一句句子: 我是一个中国人,我热爱着中国的每一个城市。 输出的是这句句子的向量,一个768维的向量(google预训练是这么做的),这个向量是具有上下文信息的,详细参考Transformer结构。但是网上有一些做法是用bert as service来生成词级向量,例如输入[‘我’,‘是’,‘一个’, ‘中国’, ‘人’],得到5个768维的向量,用来作为词向量,但这样做是错误的!具体原因参照我前面的描述,既然思想是错误的,也就不奇怪效果不好了,所以在这种情况下,请先别着急说BERT预训练模型不work。 BERT生成token级别的向量,这两篇文章理解的比较准确(我的代码有一部分参考第二篇博客): https://blog.csdn.net/u012526436/article/details/87697242 https://blog.csdn.net/shine19930820/article/details/85730536 为什么说是token级别的向量呢

MyDLNote-Enhancement:[2020 CVPR] Domain Adaptation for Image Dehazing

爱⌒轻易说出口 提交于 2020-08-10 23:32:13
2020 CVPR : Domain Adaptation for Image Dehazing [paper] : http://export.arxiv.org/pdf/2005.04668 这篇文章之所以能够在 CVPR 发表,真的是因为该文章确实切中了目前基于深度学习去雾算法的要害,即依据大气光物理模型生成的人工合成雾图像与真实拍到的雾图像是不一样的。也就是说,大家一直广泛应用的大气光物理模型只是雾图像产生的一个近似图像,而非真实图像。在人工合成数据集上训练的去雾模型,自然是不能适应于真实雾图像的高质量去雾。 本人是第一次接触 Domain Adaptation 相关的研究内容,DA 其实是解决上述问题的一个非常合适的方法。 种豆南山下 的知乎上对 DA 做了比较全面的介绍,墙裂推荐学习,相关连接: https://zhuanlan.zhihu.com/p/53359505 。 Abstract Image dehazing using learning-based methods has achieved state-of-the-art performance in recent years. However, most existing methods train a dehazing model on synthetic hazy images, which are

iOS开发添加新手引导

让人想犯罪 __ 提交于 2020-08-10 22:47:19
往往项目中经常出现此类需求 用户通过点击引导按钮可响应页面附带按钮的点击事件。 1 // 2 // gzhGuideView.h 3 // GuideView 4 // 5 // Created by 郭志贺 on 2020/5/29. 6 // Copyright © 2020 郭志贺. All rights reserved. 7 // 8 9 #import <UIKit/UIKit.h> 10 11 NS_ASSUME_NONNULL_BEGIN 12 13 @interface gzhGuideView : UIView 14 15 16 -( void )showGuide:(UIView* )view;//显示引导 17 -( void )dismissGuide;//移除 18 19 @end 20 21 NS_ASSUME_NONNULL_END 1 // 2 // gzhGuideView.m 3 // GuideView 4 // 5 // Created by 郭志贺 on 2020/5/29. 6 // Copyright © 2020 郭志贺. All rights reserved. 7 // 8 9 #import " gzhGuideView.h " 10 11 @implementation gzhGuideView 12 -

论文笔记:A Structured Self-Attentive Sentence Embedding

ぐ巨炮叔叔 提交于 2020-08-10 22:43:12
A Structured Self-Attentive Sentence Embedding ICLR 2017 2018-08-19 14:07:29 Paper : https://arxiv.org/pdf/1703.03130.pdf Code(PyTorch) : https://github.com/kaushalshetty/Structured-Self-Attention Video Tutorial (Youtube) : Ivan Bilan: Understanding and Applying Self-Attention for NLP | PyData Berlin 2018 Blog : 1. 机器之心 2. https://www.paperweekly.site/papers/notes/148 Related Papers : Self-Attention Generative Adversarial Networks Background and Motivation : 现有的处理文本的常规流程第一步就是:Word embedding。也有一些 embedding 的方法是考虑了 phrase 和 sentences 的。这些方法大致可以分为两种: universal sentence(general 的句子)和 certain task

spdk(三)----qemu使用spdk

可紊 提交于 2020-08-10 22:42:55
0. 配置 HUGEMEM=2048 ./scripts/setup.sh 1.启动vhost application: ./app/vhost/vhost -S /var/tmp -s 1024 -m 0x3 & 2. 创建SPDK bdev (注意:SPDK bdev是SPDK中对多种存储后端(storage backend)的抽象。 这些存储后端(storage backend)包括:ceph RBD,ramdisk,NVMe,iSCSI,逻辑卷,甚至是virtio)。这里就体现了SPDK block device layer的概念。 2.1 创建基于physical NVMe的spdk nvme bdev 这里要求运行qemu的Host上插有physical NVME SSD。 ./scripts/rpc.py bdev_nvme_attach_controller -b Nvme0 -t pcie -a 0000:01:00.0 ./scripts/rpc.py vhost_scsi_controller_add_target vhost.0 0 Nvme0n1 2.2 创建基于ramdisk的spdk bdev Malloc0 (vhost-scsi) ./scripts/rpc.py bdev_malloc_create -b Malloc0 128 4096

TensorFlow实现CNN

馋奶兔 提交于 2020-08-10 19:59:53
TensorFlow是目前深度学习最流行的框架,很有学习的必要,下面我们就来实际动手,使用TensorFlow搭建一个简单的CNN,来对经典的mnist数据集进行数字识别。 如果对CNN还不是很熟悉的朋友,可以参考: Convolutional Neural Network 。 下面就开始。 step 0 导入TensorFlow 1 import tensorflow as tf 2 from tensorflow.examples.tutorials.mnist import input_data step 1 加载数据集mnist 声明两个placeholder,用于存储神经网络的输入,输入包括image和label。这里加载的image是(784,)的shape。 1 mnist = input_data.read_data_sets( ' MNIST_data/ ' , one_hot= True) 2 x = tf.placeholder(tf.float32,[None, 784 ]) 3 y_ = tf.placeholder(tf.float32, [None, 10]) step 2 定义weights和bias 为了使代码整洁,这里把weight和bias的初始化封装成函数。 1 # ----Weight Initialization---# 2 # One

最新校招京东、百度、头条算法面试真题分享

大兔子大兔子 提交于 2020-08-10 18:20:12
1 .京东面试经历 面试的京东的商品推荐的算法岗,在北辰大厦(奥森旁边),面试难度总体来说比较简单。 ①:到公司之后先做了一个小时的笔试题目 ,包括四个简答题和两个编程题,简答题主要是 C语言相关的。 Map和Set的插入和查找的复杂度是多少,Set是否可以存储类 递归和循环可以互相转换吗? epull和select的原理以及区别? 什么时候会调用构造函数和析构函数?父类的构造函数可以是virtual的吗? 编程题也特别简单,一道题是一个有序的数组,寻找数组的中的两个数它们的和是否等 于某 个值target,返回True或者False,要求O(n)的复杂度。 另一道题目是一个数组,两个相邻下标的数组的值的差的绝对值为1,然后在这个数组中寻找 某个值是否在这个数组中,是的话返回下标,否则返回-1。 ②:第一轮面试也特别简单 ,主要就是聊了聊自己的论文是怎么做的,实习的时候干了啥, 然后再出了一道编程题,一个无序数组,只有0,1,2,然后你要对这个数组进行排序,要求 O(n)复杂度。(荷兰国旗问题) ③:第二轮面试也是主要是聊了聊自己的论文 ,然后推导SVM的原理,然后logistic和SVM 的区别,Attention注意力机制的原理,RNN的公式等。 还有一个编程题反转链表。 面试完三天拿到了口头offer,感觉总体来说还是比较简单的。 今天收到了京东的录用函