Atom

UML对象关系与箭头对应表

こ雲淡風輕ζ 提交于 2020-04-06 12:24:46
对象和类 类是构造对象的模板 封装是与对象有关的一个重要的概念,从形式上来看,封装不过是将数据和行为组合在一个包中,并对对象的使用者隐藏了数据的实现方式。对象中的数据称为实例域,操作数据的过程称为方法。 类之间的关系 在类之间最常见的关系有 依赖(“uses-a”) 聚合(“hsa-a”) 继承(“is-a”) 依赖是说两个类之间有依赖关系,聚合是一个类包含另一个类。 UML中关系与箭头对应表 点赞 收藏 分享 文章举报 Achou.Wang 博客专家 发布了370 篇原创文章 · 获赞 153 · 访问量 34万+ 他的留言板 关注 来源: oschina 链接: https://my.oschina.net/u/4312837/blog/3216071

语音数据集汇总

允我心安 提交于 2020-04-06 10:49:57
1. 噪声集 The QUT-NOISE dataset ,来自昆士兰科技大学(QUT)的噪声数据集,其中包括了Café,Car,Home,Reverb,Street,五种场景,每种场景下又分了两个小场景,一共十个场景,约12小时数据,其中reverbe_pool 感觉不常见,训练时可以考虑删除。 Environmental Background Noise dataset ,来自UTDallas的噪声数据集,包括三个场景,Babble,Car,Machinery,数据约30秒一条,一共253条。 MUSAN corpus 来自David Snyder and Guoguo Chen and Daniel Povey,里面有三个文件夹,分别是music,speech 和 noise。noise分类下有两个文件夹,数据长短不一,包含了各种生活场景,扩展噪声集的丰富性,930条。 Nonspeech dataset 来自Ohio State University,数据长短不一,包括各种生活场景,扩展噪声集的丰富性,一共100条。 2. 语音集 点赞 收藏 分享 文章举报 Li Kang 发布了28 篇原创文章 · 获赞 42 · 访问量 6万+ 私信 关注 来源: oschina 链接: https://my.oschina.net/u/4266968/blog/3216377

005. 线程安全之原子操作

核能气质少年 提交于 2020-04-06 09:25:58
1. 理解原子操作 1. 实现一个简单的测试用例 public class Counter { volatile int i = 0; public void add() { i++; } } public class Demo1_CounterTest { public static void main(String[] args) throws InterruptedException { final Counter ct = new Counter(); for (int i = 0; i < 6; i++) { new Thread(() -> { for (int j = 0; j < 10000; j++) { ct.add(); } System.out.println("done..."); }).start(); } Thread.sleep(6000L); System.out.println(ct.i); } } 2. 结果分析 最终的结果是小于等于60000。 原因: i++ 并不是一个原子操作。 反编译 Counter 类,部分结果如下: 针对操作进行了切分: 3. 原子操作描述 原子操作可以是一个步骤,也可以是多个步骤,但是其顺序不可以被打乱,也不可以被切割而只执行其中的一部分(不可中断性)。 将整个操作是做一个整体,资源在该次操作中保持一致

盲源分离算法学习笔记

会有一股神秘感。 提交于 2020-04-06 06:50:35
盲源分离算法学习笔记 优缺点(Pros & Cons) 优点 缺点 麦克风阵列算法有两大类,一类是波束形成算法,另一类是盲源分离算法,两者互有优劣。本篇博客先通过比较盲源分离和波束形成来说明盲源分离的优缺点,盲源分离的基础知识,然后分别介绍盲源分离的常见实现方式。本篇盲源分离算法主要是记录ICA算法,若无指明,BSS和ICA在本篇博客中是等价的。 优缺点(Pros & Cons) 优点 盲源分离不需要目标语音VAD的先验信息。 这个先验信息对于波束形成算法是很关键的,其准确程度直接影响性能。而盲源分离不需要做自适应滤 盲源分离不需要目标语音的DOA信息。 缺点 盲源分离的结果是混淆的。 比如两个声源 s 1 , s 2 s_1,s_2 s 1 ​ , s 2 ​ ,分离出来的顺序可以是 s 1 ^ , s 2 ^ \hat{s_1}, \hat{s_2} s 1 ​ ^ ​ , s 2 ​ ^ ​ ,也可能是 s 2 ^ , s 1 ^ \hat{s_2}, \hat{s_1} s 2 ​ ^ ​ , s 1 ​ ^ ​ 。 盲源分离要求输入的信号最多一个是高斯分布。 ICA算法的假设是两个声源 s 1 , s 2 s_1,s_2 s 1 ​ , s 2 ​ 是相互独立的,那么分离出来的 s 1 ^ , s 2 ^ \hat{s_1}, \hat{s_2} s 1 ​ ^ ​ ,

addprefix --Makefile加前缀函数

一笑奈何 提交于 2020-04-06 04:03:06
加前缀函数——addprefix $(addprefix ,<names…> ) 名称:加前缀函数——addprefix。 功能:把前缀加到中的每个单词后面。 返回:返回加过前缀的文件名序列。 $( addprefix src/,a.c b.c ) 返回值为“src/a.c src/b.c” 点赞 收藏 分享 文章举报 Achou.Wang 博客专家 发布了370 篇原创文章 · 获赞 153 · 访问量 34万+ 他的留言板 关注 来源: oschina 链接: https://my.oschina.net/u/4295062/blog/3216295

MIT6.0001 笔记,LECTURE 9:Python Classes and Inheritance

醉酒当歌 提交于 2020-04-05 20:03:05
本课的内容分类两个部分。 第一部分讲 getters and setters methods ,其本质还是在于 information hiding ,使用setter() 和 getter() 方法对类的数据进行读写,尤其是setter() 方法,可以对写入的数据进行判断,防止错误类型和错误范围的数据进入实体。 第二部分讲 inheritance ,定义一个父类animal,然后再得到他的子类,animal->person->student,或者 animal -> rabit。着重解释了class variable和instance variable的区别。 本篇笔记和代码都来自于MIT的公开课,第九课,Python的类和继承。 《Introduction to Computer Science and Programming in Python》 。 Getter and Setter Methods 这一部分用三张ppt内容可以概括。 推荐 使用getter和setter来访问类的变量。 出于information hiding的考虑,类的作者自定义变量名,调用者不知道,直接访问会出错。 使用 a.get_age() 而不是 a.age 是一种更好的变成风格,易于维护,不易出错 python允许我们在类的定义之外,直接读,写,增加实体的变量。但这是 不推荐 的。 点赞 收藏

矩池云 | 使用LightGBM来预测分子属性

末鹿安然 提交于 2020-03-27 09:36:18
3 月,跳不动了?>>> 今天给大家介绍提升方法(Boosting), 提升算法是一种可以用来减小监督式学习中偏差的机器学习算法。 面对的问题是迈可·肯斯(Michael Kearns)提出的:一组“弱学习者”的集合能否生成一个“强学习者”? 弱学习者一般是指一个分类器,它的结果只比随机分类好一点点。强学习者指分类器的结果非常接近真值。 大多数提升算法包括由迭代使用弱学习分类器组成,并将其结果加入一个最终的成强学习分类器。加入的过程中,通常根据它们的分类准确率给予不同的权重。加和弱学习者之后,数据通常会被重新加权,来强化对之前分类错误数据点的分类。 提升算法有种三个臭皮匠顶个诸葛亮的意思。在这里将使用微软的LightGBM这个提升算法,来预测分子的一个属性,叫做耦合常数。 导入需要的库 import os import time import datetime import json import gc from numba import jit import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline from tqdm import tqdm_notebook from sklearn.preprocessing import StandardScaler

visual studio code使用

若如初见. 提交于 2020-03-25 12:43:16
3 月,跳不动了?>>> ctrl+shift+P command palette ctrl+space 触发补全 ctrl+shift+F12 跳转 Ctrl+F12 ctrl+shift+M 查错 ctrl+shift+X 扩展件 ctrl+B 边栏收敛 Ctrl+K Z 全屏代码 点赞 收藏 分享 文章举报 一銤阳光 发布了204 篇原创文章 · 获赞 199 · 访问量 57万+ 他的留言板 关注 来源: oschina 链接: https://my.oschina.net/u/4367225/blog/3210707

Openwrt系统

放肆的年华 提交于 2020-03-25 12:10:20
3 月,跳不动了?>>> Openwrt是什么,能做什么? 什么样的设备可以使用Openwrt 怎么使用Openwrt 从 https://openwrt.org/ 下载OpenWrt镜像文件 https://downloads.openwrt.org/snapshots/trunk/brcm2708/generic/openwrt-brcm2708-bcm2708-rpi-ext4-sdcard.img 使用Win32 DiskImager 烧写镜像文件 插入sd卡 sudo umount /dev/sdbn sudo fdisk /dev/sdb sudo dd bs=1M if=openwrt-brcm2708-bcm2708-rpi-ext4-sdcard.img.gz of=/dev/sdb 拔下sd卡 找到SD卡所在分区,下载OpenWrt补丁文件,复制到该分区并覆盖相应文件,完成后 启动系统 就是OpenWrt了。 配置 OpenWrt通过luci来配置的。 在同一局域网下,用其他电脑的浏览器,访问开发板ip,即可访问luci管理界面。 默认用户名root 密码为空 配置上网 network interface 更新软件源 system software – update lists 安装无线网卡驱动 Filter –>usb-net –Find package