分析一个算法主要看这个算法的执行需要多少机器资源。在各种机器资源中,时间和空间是两个最主要的方面。因此,在进行算法分析时,人们最关心的就是运行算法所要花费的时间和算法中使用的各种数据所占用的空间资源。算法所花费的时间通常称为时间复杂度,使用的空间资源称为空间复杂度。接下来学习如何计算一个算法的时间复杂度和空间复杂度。查看全文>>
假设标记为星星的点是 test point, 绿色的点是找到的近似点,在回溯过程中,需要用到一个队列,存储需要回溯的点,在判断其他子节点空间中是否有可能有距离查询点更近的数据点时,做法是以查询点为圆心,以当前的最近距离为半径画圆查看全文>>
以一个符合语言规律的序列为输入,模型将利用序列间关系等特征,输出一个在所有词汇上的概率分布.这样的模型称为语言模型。实现可分为以下五个步骤:第一步导入必备的工具包;第二步导入wikiText-2数据集并作基本处理;第三步构建用于模型输入的批次化数据;第四步构建训练和评估函数;第五步进行训练和评估(包括验证以及测试)...查看全文>>
OpenCV的模块,core、highgui、imgproc是最基础的,它们实现的功能和方法各不相同,分别介绍如下:查看全文>>
计算机视觉是指用摄像机和电脑及其他相关设备,对生物视觉的一种模拟。它的主要任务是让计算机理解图片或者视频中的内容,就像人类和许多其他生物每天所做的那样。依赖于人工智能和机器学习,尤其是计算机视觉的创新的好处是,从电子商务行业到更经典的各种类型和规模的公司都可以利用其强大的功能,下图展示了相关的应用场景及相关的企业:查看全文>>
如何在只有6万张图像的MNIST训练数据集上训练模型?学术界当下使用最广泛的大规模图像数据集ImageNet。应用迁移学习(transfer learning),将从源数据集学到的知识迁移到目标数据集上。例如,虽然ImageNet数据集的图像大多跟椅子无关,但在该数据集上训练的模型可以抽取较通用的图像特征,从而能够帮助识别边缘、纹理、形状和物体组成等。查看全文>>