3小时入门Python系列课程 置顶!
3 小时教你从零入门 Python,简单快捷。目录如下
3 小时教你从零入门 Python,简单快捷。目录如下
这个专栏是深度学习框架 PaddlePaddle Fluid 版本的教程,开发环境主要是 PaddlePaddle 1.6.0 和 Python 3.5。内容涉及了 PaddlePaddle 的安装,并从简单执行 1+1 运算例子入门 PaddlePaddle,借助各个实例一步步入手 PaddlePaddle,通过本系列教程你可以学到如何使用 PaddlePaddle 搭建卷积神经网络,循环神经网络,并能够训练自定义数据集,最后还可以部署到自己的实际项目中。
这个专栏是深度学习框架 PaddlePaddle V2 版本的教程,开发环境主要是 PaddlePaddle 0.11.0 和 Python 2.7。内容涉及了 PaddlePaddle 的安装,并从手写数据集识别入手,借助实例一步步入手 PaddlePaddle,通过实例掌握 PaddlePaddle 的使用,从零进入人工智能领域。
数据视图系统(Data-View)
用户上传不同类型的数据,根据不同的数据类型绘制成不同的图形。实现数据可视化,作为物联网或者 App Inventor 中的数据持久化平台使用。
同样地,你也可以通过 Data-View 制造数据,传输给,从而实现控制硬件。
查看大佬 GitHub 上全部项目的 Star 数量,需要手动修改 user
参数,该参数为用户的 GitHub ID
MTCNN,Multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,总体可分为 P-Net、R-Net、和 O-Net 三层网络结构。它是 2016 年中国科学院深圳研究院提出的用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的 P-Net、进行高精度候选窗口过滤选择的 R-Net 和生成最终边界框与人脸关键点的 O-Net。和很多处理图像问题的卷积神经网络模型,该模型也用到了图像金字塔、边框回归、非最大值抑制等技术。
在数据预处理方便,本项目主要是将音频执行梅尔频率倒谱系数(MFCCs)处理,然后在使用出来的数据进行训练,在读取音频时,使用 librosa.load(wav_path, sr=16000)
函数读取音频文件,再使用 librosa.feature.mfcc()
执行数据处理。MFCC 全称梅尔频率倒谱系数。梅尔频率是基于人耳听觉特性提出来的, 它与 Hz 频率成非线性对应关系。梅尔频率倒谱系数(MFCC)则是利用它们之间的这种关系,计算得到的 Hz 频谱特征,主要计算方式分别是预加重,分帧,加窗,快速傅里叶变换(FFT),梅尔滤波器组,离散余弦变换(DCT),最后提取语音数据特征和降低运算维度。本项目使用的全部音频的采样率都是 16000Hz,如果其他采样率的音频都需要转为 16000Hz,create_manifest.py
程序也提供了把音频转为 16000Hz。
在这个任务是对坐标进行回归,使用均方误差(Mean Square error )损失函数 paddle.nn.MSELoss()
来做计算,飞桨 2.0 中,在 nn 下将损失函数封装成可调用类。这里使用 paddle.Model 相关的 API 直接进行训练,只需要定义好数据集、网络模型和损失函数即可。
使用模型代码进行 Model 实例生成,使用 prepare 接口定义优化器、损失函数和评价指标等信息,用于后续训练使用。在所有初步配置完成后,调用 fit 接口开启训练执行过程,调用 fit 时只需要将前面定义好的训练数据集、测试数据集、训练轮次(Epoch)和批次大小(batch_size)配置好即可。
手写数字的 MNIST 数据集,包含 60,000 个用于训练的示例和 10,000 个用于测试的示例。这些数字已经过尺寸标准化并位于图像中心,图像是固定大小(28x28 像素),其值为 0 到 1。该数据集的官方地址为:http://yann.lecun.com/exdb/mnist 。
本案例将会使用飞桨提供的 API 完成数据集的下载并为后续的训练任务准备好数据迭代器。cifar10 数据集由 60000 张大小为 32 * 32 的彩色图片组成,其中有 50000 张图片组成了训练集,另外 10000 张图片组成了测试集。这些图片分为 10 个类别,将训练一个模型能够把图片进行正确的分类。
元素尺寸、位置相关的属性有哪些?如何获取用户的阅读进度?如何确定用户阅读到了最后?
如何制作环形进度条?如何实现动画的匀速播放?
svg 中的 viewBox 是什么?什么时候需要 viewBox?viewBox 能实现什么样的效果?
在 Android 中使用 Netty-Socket 互相发送图片和文字,
首先是服务端,服务端的应用在 server 下,其中最重要的是 NettyServerUtil.java
,这里包含了服务的启动和发送数据,这数据包括文字和图像。
这段代码是启动 Netty 服务的,其中非常重要的是 ch.pipeline().addLast(new ByteArrayEncoder());
和 ch.pipeline().addLast(new ByteArrayDecoder());
,因为我们要传输的都是基于 byte[] 的,同时还要 LineBasedFrameDecoder
设置最大包的长度。
Android 使用 CameraX 实现相机快速实现对焦和放大缩小,本教程介绍如何使用 CameraX 实现相机点击对焦和放大缩小,单击对焦指定位置,使用双指放大缩小图像。下面是页面代码,使用 PreviewView 预览相机图像,然后使用 FocusImageView 自定义 View 来显示对焦框。CameraXPreviewViewTouchListener.kt
点监听事件,用于监听屏幕的点击监听动作。
日历组件实现起来真的难吗?它需要哪些数据?要如何获取一页上的日期?如何处理网格布局中的分隔线?
CameraX 是谷歌提供的相机框架,这个框架非常强大,可以实现很方便点击对焦,放大缩小,保存优质的图像等等。最重要的是 androidx.camera.view.PreviewView
控件,这个可以实现预览图像,点击监听事件等操作都可以在这里完成。不过这里只介绍预览图像和拍照保存。startCamera()
方法可以实现预览操作,代码都有注释。CameraX 提供了 imageCapture.takePicture()
接口用于保存图像。
CameraKit 框架是一款极其简单的 Android 相机框架,代码量比使用原生的少很多。本章教程我们就来使用 CameraKit 搭建一个简单的相机,并实现点击保存图像。
Java 代码就简单很多了,其中要在 Activity 生命周期中也添加 CameraKitView 的什么周期。CameraKit 也提供了动态权限申请接口,使用 cameraKitView.onRequestPermissionsResult()
接口实现动态权限申请,这样就完成了相机预览功能。拍照保存也很简单,使用 cameraKitView.captureImage()
就可以保存图像到本地了。这也太简单了。
JavaScript 文本置乱动画的预览与解析
JavaScript 使用 Object.prototype.toString.call 来检查类型,那么写成这种形式的原因是什么呢?