动手学深度学习 - 01 开发环境搭建
这是跟随李沐大神《动手学深度学习》的课程笔记。 1、概念区分 人工智能:让机器具备像人一样的智能。 机器学习:不用显式给机器编程,让机器自身通过学习来获取问题的解法。 深度学习:使用神经网络等更复杂的模型来学习。 范围包含关系:人工智能 > 机器学习 > 深度学习 2、开发环境安装MacOS安装开发环境,参考:http://zh.gluon.ai/chapter_prerequ...
这是跟随李沐大神《动手学深度学习》的课程笔记。 1、概念区分 人工智能:让机器具备像人一样的智能。 机器学习:不用显式给机器编程,让机器自身通过学习来获取问题的解法。 深度学习:使用神经网络等更复杂的模型来学习。 范围包含关系:人工智能 > 机器学习 > 深度学习 2、开发环境安装MacOS安装开发环境,参考:http://zh.gluon.ai/chapter_prerequ...
LevelDB简介LevelDB是Google开源的一个键值数据库,它使用C++实现,提供”字符串类型键值对“的持久化能力。 为什么选择读它?在进入具体的”读“之前,先补充说明一个问题:为什么选择LevelDB来读? 就我自己而言,原因有两点: 1、LevelDB是数据库的一种最简实现。LevelDB只提供了对键值对的持久化和事务操作,在众多开源数据库软件中,比如MySQL、SQLite等,...
建造模式是什么?建造模式是一种创建对象的方式,通过使用建造模式,可以将对象的内部状态表示和对象的创建过程分割开。 某些情况下对象内部的状态必须在一定的规则约束下才有意义,典型的几种情况如下: (1)对象内部的多个属性字段要同时有效。比如:创建一封电子邮件,需要填好发件人、收件人、主题、内容等,才能作为一封完整的邮件。而填写过程,可以用专门的建造方法来负责实现,其返回的结果是一个有效的邮件对象...
单例模式是什么?单例模式,顾名思义,就是整个类只提供一个实例对象,供外部使用。 从设计模式的角度看,单例模式是一种退化的简单工厂模式,其中工厂的创建方法就是产品类自身的静态方法,并且创建出的产品对象只有一个,循环使用。 单例模式的三个要素是:(1)单例类只有一个实例对象;(2)单例类必须自行创建此实例对象;(3)单例类必须自行向系统提供此实例对象。 为了得到单例,需要对类的构造函数进行限制,...
抽象工厂模式是什么?前面两节分别介绍了简单工厂模式和工厂模式。其中,简单工厂模式提供了单个创建接口,通过指定入参来创建不同的具体产品,比如水果农场例子中的苹果和葡萄。工厂模式则利用多态性,采用抽象工厂和具体的苹果工厂、葡萄工厂来实现创建水果对象的功能,生产新的水果只需添加新的具体工厂即可,符合“开闭原则”。 工厂模式中,一个抽象工厂可以处理一种抽象产品,那么,如果是两种抽象产品呢?如果这两种...
工厂模式是什么?工厂模式又称为虚拟构造子模式或多态工厂模式,是在简单工厂模式的基础上,将核心角色“工厂类”改为层次继承结构,提取出一个抽象工厂的角色,由对应具体产品的具体工厂类来继承此抽象工厂,并提供抽象工厂的多态性,对外提供统一的产品创建接口。 工厂模式示意图如下所示。可以看出,创建产品的职责不再和简单工厂模式那样,集中在单个工厂类,而是分散到各具体工厂类,这样,既继承了简单工厂模式的优点...
简单工厂模式是什么?简单工厂是指在基类中对一系列具有相同行为的对象按需创建的方法。被创建的对象通常具有共同的基类。 类图如下: 简单工厂示例:水果 /** * 简单工厂模式 */#include <iostream>#include <string>#include <algorithm>class Fruit {public: virt...
Hi,这是设计模式专栏的开篇!