Auto-Keras与AutoML: 入门指南

Auto-Keras与AutoML:入门指南 在本教程中,你将学习如何使用Auto-Keras(Google的AutoML的开源替代品)来实现自动化机器学习和深度学习。 目前来说,深度学习从业者在数据集上训练神经网络时,主要正在尝试优化和平衡两个目标: 1.定义适合数据集性质的神经网络体系结构; 2.在许多实验中调整一组超参数,这将导致模型具有高精度并能够推广到训练和测试集之外的数据。需要调整的典型超参数包括优化算法(SGD,Ada... 阅读详情

原文地址:https://www.pyimagesearch.com/2019/01/07/auto-keras-and-automl-a-getting-started-guide/

源代码可以在原文的最开始和结束的位置找到下载,作者会让email注册,确认,然后发一波源码和广告。

另外,Linux下如何我不知道,但是在window10上安装Auto-Keras需要安装PyTorch 0.4.0,我本机是1.0的PyTorch,没有安装成功,也没打算试了。毕竟安装个pytorch下载量也不小,而且我也没耐心持续运行几天来得到同样的结论~ 电费不要钱的啊,亲~ 

==========================格叽格叽 格叽格叽 格叽 格叽====================================

Auto-Keras与AutoML:入门指南

 在本教程中,你将学到如何使用Auto-Keras,这是Google的AutoML的一个开源替代方案,用于自动机器学习和深度学习。

在对数据集训练神经网络时,有两个主要目标是专业的深度学习人员要努力优化和平衡的:

  1. 定义神经网络结构以符合数据集的本质
  2. 通过大量实验来调整超参数来增加模型的准确度,并且能泛化于训练集合测试集以外的数据。典型的需要调整的超参数包括优化算法(SGD,Adam等),学习率和学习率调度,以及正则化等等

依赖于数据集和问题,需要一个深度学习专家实验几十上百次,在神经网络结构和超参数之间找到均衡。

这些实验总计要耗费成百上千小时的GPU计算时间。

这还是对于专家而言 - 那么,非深度学习专家呢?

正式说Auto-Keras和AutoML吧:

Auto-Keras和AutoML的最终目标都是通过使用自动神经架构搜索(NAS)算法来减少进入机器学习和深度学习的障碍。

Auto-Keras和AutoML使得非深度学习专家能以最少的深度学习的领域知识和实际数据来训练他们自己的模型。

使用Auto-Keras和AutoML,一个只有很少机器学习专业知识的程序员就能应用这些算法以很少的努力就能取得最先进的性能。

听起来好的有点假哈?

可能吧。但是,你应该先读一下剩下的内容再想原因。

要了解有关AutoML的更多信息(以及如何使用Auto-Keras 自动训练和调整神经网络),请继续看吧!

Auto-Keras和AutoML:入门指南

在本博客的第一部分,我们将介绍自动机器学习(AutoML)和神经架构搜索(NAS),这个算法使得AutoML应用到神经网络和深度学习成功可能。

我们也会简单说说Google的AutoML,一个允许只具有有限的机器学习专业知识的程序猿能在他们自己的数据集上训练高准确度的模型的一套工具库。

当然,Google的AutoML是专利算法(有一丢丢贵)。

能替代AutoML的是开源的Auto-Keras,构建于Keras和PyTorch上。

随后,我将向你展示如何用Auto-Keras自动训练一个网络,此外还要评估它。

什么是自动机器学习(AutoML)?

图1: Auto-Keras是Google  AutoML的替代品。这些软件项目可以帮助您自动训练模型,仅需很少的干预。对于深度学习新人或者稍后要搜索到的基线模型来说,它们是个很棒的选择。

在非监督学习(从未标注数据自动学习的模式)之外,自动机器学习简直是非专业人员的机器学习“圣杯”。

想象下能以如下方式自动创建机器学习模型:

  1. 安装库/使用web接口
  2. 指向库或接口到你的数据
  3. 对数据自动训练模型,无需调整参数,也不需要深入理解提供动力的算法

有一些公司在尝试创建这样一个解决方案 - 搞大了的一个是Google的AutoML。

Google的AutoML使得只有很少的机器学习经验的开发人员和工程师能对他们的数据集自动训练神经网络。

Google的AutoML的算法底层是迭代:

  1. 在训练集上训练网络
  2. 在测试集上评估网络
  3. 修改神经网络结构
  4. 调整超参数
  5. 重复上述过程

程序猿或工程师使用AutoML不需要定义他们自己的神经网络架构或者调整超参数 - AutoML会自动干这些的。

神经架构搜索(NAS)使得AutoML成为可能:

图2:神经架构搜索(NAS)在搜索CIFAR-10的最佳CNN架构时生成了一个模型,这些是概览图(来源:Zoph等人的图4 )

Google的AutoML和Auto-Keras都以这个称为神经架构搜索(NAS)的算法为驱动。

给定你的输入数据集,神经架构搜索算法会自动最优的结构和对应的参数。

神经架构搜索本质上替代了拥有一组算法的深度学习攻城狮/专业人员来自动调整模型!

在计算机视觉和图像识别方面,神经架构搜索算法可以:

  1. 接受输入训练数据集
  2. 优化和查找被称为cell的架构块 - 这些cells是被自动学习到的,看起来类似inception,residual或者squeeze/fire微架构。
  3. 持续训练和查找"NAS算法搜索空间"里的更优的cells.

如果使用AutoML系统的是有经验的深度学习专业人员,那么,他们可以决定:

  1. 在训练数据集的一个小得多的子集上运行NAS
  2. 查找和优化结构块/cell集合
  3. 在搜索过程中,使用这些cell来手动定义更深版本的网络查找
  4. 在全数据集上用他们的专业知识和最佳实践来训练网络

这种方法是介于全自动机器学习解决方案与需要深度学习专家的解决方案之间的混合体 - 通常这种方法会比NAS自己发现的网络模型更准确。

我推荐阅读《Neural Architecture Search with Reinforcement Learning 》(Zoph and Le,2016)和《Learning Transferable Architectures for Scalable Image Recognition》 (Zoph et al., 2017)获取更多关于关于这些算法的内容。

Auto-Keras:Google AutoML的开源替代方案

图3:  Auto-Keras包是由 德州农工大学DATA实验室团队开发,是 Google AutoML的开源替代品。

Auto-Keras软件包是德州农工大学DATA实验室团队开发的Google AutoML的替代品。

Auto-Keras也利用了神经架构搜索,但应用的是"网络态射"(保持网络功能而改变网络结构)以及贝叶斯优化。用来引导网络态射实现更有效的神经网络搜索。

你可以在Jin等人2018年的出版物《Auto-Keras:Efficient Neural Architecture Search with Network Morphism》中找到Auto-Keras框架的所有细节。

项目结构

继续,从今天博客文章的“下载”部分获取zip文件 。

然后解压文件,从你的终端进入该目录。

用tree命令来看看今天的项目:

$ tree --dirsfirst
.
├── output
│   ├── 14400.txt
│   ├── 28800.txt
│   ├── 3600.txt
│   ├── 43200.txt
│   ├── 7200.txt
│   └── 86400.txt
└── train_auto_keras.py

1 directory, 7 files

今天我们要回顾一个Python脚本: train_auto_keras.py。

因为会有大量的打印输出到屏幕,我选择了保留我们的分类报告(scikit-learn的classification工具帮助生成)作为文本文件存到磁盘。检查上面的output目录,你会看到有几个报告已经生成了。继续,打印一个到你的终端(cat output/14400.txt),看看它长啥样。

安装 Auto-Keras

图4:Auto-Keras软件包依赖于Python 3.6,TensorFlow和Keras

 

正如Auto-Keras GitHub存储库所述,Auto-Keras当前是“pre-release”的状态 — 这个并不是官方发布。

接着,Auto-Keras需要Python 3.6,且当前仅兼容Python 3.6.

如果你使用任何其他版本的python,而不是3.6,你将不能使用Auto-Keras软件包。

要检查你的Python版本,只需要下面的命令:

$ python --version

如果你已经装了Python 3.6,就可以用pip安装Auto-Keras:

$ pip install tensorflow # or tensorflow-gpu
$ pip install keras
$ pip install autokeras

如果你在安装或使用Auto-Keras时有任何问题,请确保在Auto-Keras官方的GitHub问题页上发布,作者会帮你的。(译注:至少Windows安装的时候,需要Torch 0.4,我的Torch 1.0的环境报错了)

用Auto-Keras实现我们的训练脚本

让我们继续使用Auto-Keras实现我们的训练脚本。打开train_auto_keras.py文件并插入以下代码:

# import the necessary packages
from sklearn.metrics import classification_report
from keras.datasets import cifar10
import autokeras as ak
import os

def main():
	# initialize the output directory
	OUTPUT_PATH = "output"

首先,我们导入必要的包,见2-5行:

  • 如前所述,我们会用scikit-learn的classification_report来计算统计值,会保存到输出文件。
  • 我们将使用CIFAR-10数据集,已经内置在keras.datasets里,非常方便。
  • 接下来是我们最重要的导入,autokeras,导入为ak的缩写。
  • os模块是必需的,因为在构建输出文件路径时,我们要适应在各种操作系统上的路径分隔符。

在我们的脚本第7行定义了main函数。由于Auto-Keras和TensorFlow处理线程的方式,我们需要将代码包装在main函数中。详见GitHub issue thread。

OUTPUT_PATH定义在第9行。

现在,我们来为Auto-Keras初始化训练时间列表:

	# initialize the list of training times that we'll allow
	# Auto-Keras to train for
	TRAINING_TIMES = [
		60 * 60,		# 1 hour
		60 * 60 * 2,	# 2 hours
		60 * 60 * 4,	# 4 hours
		60 * 60 * 8,	# 8 hours
		60 * 60 * 12,	# 12 hours
		60 * 60 * 24,	# 24 hours
	]

第13-20行定义了一组TRAINING_TIMES,包括[1,2,4,8,12,24]小时。今天我们将用Auto-Keras来研究长时间训练对准确度的影响。

先来加载CIFAR-10数据集,并初始化类名:

	# load the training and testing data, then scale it into the
	# range [0, 1]
	print("[INFO] loading CIFAR-10 data...")
	((trainX, trainY), (testX, testY)) = cifar10.load_data()
	trainX = trainX.astype("float") / 255.0
	testX = testX.astype("float") / 255.0

	# initialize the label names for the CIFAR-10 dataset
	labelNames = ["airplane", "automobile", "bird", "cat", "deer",
		"dog", "frog", "horse", "ship", "truck"]

第25行,我们的cifar数据已经加载并被保存到一个训练测试集的分割中。

接下来,我们将缩放数据到[0,1]区间(第26和27行)

我们的类名labelNames初始化在第30和31行。CIFAR-10中有10个类别。注意,这里的顺序很重要。

现在,开始循环我们的TRAINING_TIMES吧,每个时间值都传给Auto-Keras:

	# loop over the number of seconds to allow the current Auto-Keras
	# model to train for
	for seconds in TRAINING_TIMES:
		# train our Auto-Keras model
		print("[INFO] training model for {} seconds max...".format(
			seconds))
		model = ak.ImageClassifier(verbose=True)
		model.fit(trainX, trainY, time_limit=seconds)
		model.final_fit(trainX, trainY, testX, testY, retrain=True)

		# evaluate the Auto-Keras model
		score = model.evaluate(testX, testY)
		predictions = model.predict(testX)
		report = classification_report(testY, predictions,
			target_names=labelNames)

		# write the report to disk
		p = os.path.sep.join(OUTPUT_PATH, "{}.txt".format(seconds))
		f = open(p, "w")
		f.write(report)
		f.write("\nscore: {}".format(score))
		f.close()

上面的代码块是今天的脚本的核心。第35行我们已经定义了一个循环遍历TRAINING_TIMES中的每一个时间值,其中:

  • 初始化model(用ak.ImageClassifier),开始训练(第39和40行)。注意,我们没有实例化出一个特定的CNN类的对象,不像之前的教程,比如这个。我们也不需要像通常那样调整超参数。Auto-Keras会为我们做所有这些,并提供一份搜寻报告。
  • 一旦到达时间限制,就采用Auto-Keras搜寻到的最佳model和参数重新训练模型(第41行)
  • 评估和构建分类report(第44-47行)。
  • 将分类report和准确度score一起写入磁盘,以便我们评估更长训练时间的影响(第50-54行)。

对TRAINING_TIMES中的每一个时间值重复以上过程。

最后,我们会检查并启动main线程执行:

# if this is the main thread of execution then start the process (our
# code must be wrapped like this to avoid threading issues with
# TensorFlow)
if __name__ == "__main__":
	main()

这里我们检查确保这是执行的 main 线程,然后是 main 函数。(译注:实在忍不住吐槽一下,老外废话比我还多啊。。。)

就这60行代码,我们就写完了对CIFAR-10的Auto-Keras示例脚本。但我们仍然没有结束……

用Auto-Keras训练神经网络

继续用Auto-Keras训练我们的神经网络。

确保你在本教程的“下载”一节中下载好了源码。

在那里打开终端,进到下载的源码的位置,执行下面的命令:

$ python train_auto_keras.py
[INFO] training model for 3600 seconds max...   
Preprocessing the images.
Preprocessing finished.

Initializing search.
Initialization finished.


+----------------------------------------------+
|               Training model 0               |
+----------------------------------------------+
Using TensorFlow backend.

No loss decrease after 5 epochs.


Saving model.
+--------------------------------------------------------------------------+
|        Model ID        |          Loss          |      Metric Value      |
+--------------------------------------------------------------------------+
|           0            |   4.816269397735596    |         0.5852         |
+--------------------------------------------------------------------------+


+----------------------------------------------+
|               Training model 1               |
+----------------------------------------------+
Using TensorFlow backend.
Epoch-14, Current Metric - 0.83:  28%|██████▊                 | 110/387 [01:02<02:46,  1.67 batch/s]Time is out.
[INFO] training model for 86400 seconds max...  
Preprocessing the images.
Preprocessing finished.

Initializing search.
Initialization finished.


+----------------------------------------------+
|               Training model 0               |
+----------------------------------------------+
Using TensorFlow backend.

No loss decrease after 5 epochs.
...
+----------------------------------------------+
|              Training model 21               |
+----------------------------------------------+
Using TensorFlow backend.

No loss decrease after 5 epochs.


+--------------------------------------------------------------------------+
|    Father Model ID     |                 Added Operation                 |
+--------------------------------------------------------------------------+
|                        |             to_deeper_model 16 ReLU             |
|           16           |               to_wider_model 16 64              |
+--------------------------------------------------------------------------+

Saving model.
+--------------------------------------------------------------------------+
|        Model ID        |          Loss          |      Metric Value      |
+--------------------------------------------------------------------------+
|           21           |   0.8843476831912994   |   0.9316000000000001   |
+--------------------------------------------------------------------------+


+----------------------------------------------+
|              Training model 22               |
+----------------------------------------------+
Using TensorFlow backend.
Epoch-3, Current Metric - 0.9:  80%|████████████████████▊     | 310/387 [03:50<00:58,  1.31 batch/s]Time is out.

No loss decrease after 30 epochs.

在这里可以看到我们的脚本正在指引Auto-Keras执行六组实验。

整个训练时间,包括时间限制和重训练模型的时间,在NVIDIA K80 GPU上运行了3天多一点。

Auto-Keras结果:

在上面的图5中,你可以看到使用Auto-Keras的训练时间(x轴)对总体准确度(y轴)的影响。

较短的训练时间,即1小时和2小时,导致约73%的准确性。一旦我们训练4小时,就可以达到93%以上的准确率。

我们获得的最好的准确度是在8-12范围内,准确度95%。

超过8-12小时的训练没有提高我们的准确度,暗示着我们已达到饱和点,Auto-Keras无法再进一步优化。

Auto-Keras和AutoML值得吗?

图6: Auto-Keras(或AutoML)值得吗?这无疑是行业向前迈出的一大步,对那些没有深入学习领域知识的人尤其有用。换句话说,经验丰富的深度学习专家可以精巧的构建架构+在极短的时间内训练它们+达到相同或更高的准确度。

在非监督学习(从未标注数据自动学习的模式)之外,自动机器学习简直是非专业人员的机器学习“圣杯”。(译注:原文就有这一段重复的,我有什么办法,头皮发麻)

Google的AutoML和开源Auto-Keras软件包都试图将机器学习带给大众,即使没有重要的技术经验。

尽管Auto-Keras在CIFAR-10上表现不错,我还是进行了第二组实验,使用我之前发布过的《deep learning, medical imagery, and malaria detection》。

在上一篇文章中,我使用简化的ResNet架构获得了97.1%的准确率,只花了不到一小时进行训练。

然后我让Auto-Keras在相同的数据集上运行24小时 - 结果只有96%的准确率,低于我手工定义的架构。

Google的AutoML和Auto-Keras都迈出了重要一步; 然而,自动化机器学习还差的远。

自动机器学习(目前)并没有超越深度学习的专业知识 - 领域专业知识,特别是你正在使用的数据,对于获得更高精度的模型绝对至关重要。

我的建议是投资自己的知识,不要依赖自动算法。

要成为一名成功的深度学习实践者和工程师,你需要将正确的工具带到工作中。使用AutoML和Auto-Keras是因为它们是什么,是工具,然后继续用其他知识填充你自己的工具箱。

总结

在今天的博客文章中,我们讨论了Auto-Keras和AutoML,这是一套用于执行自动机器学习和深度学习的工具和库。

Auto-Keras和AutoML的最终目标是通过使用神经架构搜索(NAS)算法来减少进入机器学习和深度学习的障碍。

NAS算法,Auto-Keras和AutoML的主干,可以自动的:

  • 定义和优化神经网络架构
  • 调整超参数到模型

主要好处包括:

  • 能够用很少的专业知识进行机器学习和深度学习
  • 获得高精度模型,可以泛化到训练和测试集之外的数据
  • 使用GUI界面或简单的API快速启动和运行
  • 只需很少的努力就可以获得最先进的性能

当然,这是要付费的 - 而且是2个价格。

首先,Google AutoML贵的一P,将近每小时20刀。

为了节约小钱钱,你大概会选择Auto-Keras,这个开源的替代品。但是你仍然需要支付GPU的计算时长的费用。

用NAS算法替换掉一个实际的深度学习专家将需要很多个小时的计算来搜索优化参数。

尽管我们在CIFAR-10上达到一个较高的准确度(大约96%),但是当我应用Auto-Keras到我之前一篇文章《medical deep learning and malaria prediction》时,Auto-Keras只取得了96.1%的准确度,比我的97%低了整整一个百分点(而Auto-Keras却需要2300%的计算时间)。

虽然Auto-Keras和AutoML在自动机器学习和深度学习方面可能是在正确的方向上迈了一步,但在这方面仍然还有大量的工作要做。

没有现成的算法能解决机器学习/深度学习的问题。相反,我建议你投资你自己成为一个深度学习的实践者和工程师。

你现在学到的技能,在将来都会有巨大的收获。

希望你喜欢今天的教程。

AutoKeras:简单上手的自动化机器学习框架 相比于传统的机器学习方法,AutoKeras可以自动处理特征工程、模型选择、超参数调优等步骤,大大减少了繁琐的手动操作。其中,AutoKeras作为一种简单易用的AutoML框架,提供了高度自动化的机器学习流程。总结起来,AutoKeras是一个简单易用的自动化机器学习框架,可以帮助用户快速构建和训练机器学习模型。通过使用AutoKeras,用户可以节省大量的时间和精力,并得到高性能的机器学习模型。对于不同的任务,AutoKeras提供了相应的高级API,使得模型的构建和训练过程更加简单。 阅读详情

相关推荐

机器学习笔记 - AutoML框架AutoKeras初体验

AutoKeras:基于 Keras 的 AutoML 系统。它由德克萨斯 A&M 大学的DATA实验室开发。AutoKeras 的目标是让每个人都可以使用机器学习。 它提供了一种简单而有效的方法,可以自动为各种预测建模任务找到性能最佳的模型,包括表格或所谓的结构化分类和回归数据集。 自动化机器学习,或简称 AutoML,是指为预测建模问题自动找到数据准备、模型和模型超参数的最佳组合。AutoML 的好处是允许机器学习从业者以很少的输入...

学以致用 知行合一 3153

AutoKeras

AutoKeras

lymake的博客 1176

AutoKeras:自动化深度学习的强大工具

AutoKeras 是一个开源的自动化机器学习(AutoML)库,专注于自动化深度学习模型的构建、训练和优化。本文将全面介绍 AutoKeras 的核心概念、工作原理、主要组件以及应用场景。通过丰富的示例代码和详细的解释,帮助读者理解 AutoKeras 如何简化深度学习流程,降低技术门槛,使更多人能够利用深度学习解决实际问题。

candy的博客 387

AutoKeras---自动机器学习

声明:本项目来自于https://github.com/jhfjhfj1/autokerasAuto-Keras是用于自动机器学习的开源软件库。目的是让仅拥有一定数据科学...

tongtongjing1765的博客 1343

AI之AutoML:Auto-Keras/autokeras的简介、安装、使用方法之详细攻略

​ AI之AutoML:Auto-Keras/autokeras的简介、安装、使用方法之详细攻略 目录 Auto-Keras/autokeras的简介 Auto-Keras/autokeras的安装 Auto-Keras/autokeras的使用方法 Auto-Keras/autokeras的简介 简介 Auto-Keras是由Haifeng Jin等人在2018年提出的一种自动机器学习框架。它基于Keras框架,可以自动搜索适合数据集的神经网络结构、调整超参数,并选择最优模型。Auto-Ke

头部AI社区如有邀博主AI主题演讲请私信—心比天高,仗剑走天涯,保持热爱,奔赴向梦想!低调,专注,谦虚,自律,反思,成长,还算比较正能量的博主,公益免费传播…内心特别想在AI界做出一些可以推进历史进程影响力的技术(兴趣使然,有点小情怀,也有点使命感呀 1万+

项目安全等保测评加固手册

安全等级测评的目的是通过对目标系统在安全技术及管理方面的测评,对目标系统的安全技术状态及安全管理状况做出初步判断,给出目标系统在安全技术及安全管理方面与其相应安全等级保护要求之间的差距。测评结论作为委托方进一步完善系统安全策略及安全技术防护措施依据!!

菜鸟运维升级之路 2416

python automl_Auto-Keras与AutoML:入门指南

摘要: 不会机器学习?不会人工智能?没关系!自动化程序来了!在本教程中,你将学习如何使用Auto-Keras(Google的AutoML的开源替代品)来实现自动化机器学习和深度学习。目前来说,深度学习从业者在数据集上训练神经网络时,主要正在尝试优化和平衡两个目标:1.定义适合数据集性质的神经网络体系结构;2.在许多实验中调整一组超参数,这将导致模型具有高精度并能够推广到训练和测试集之外的数据。需要...

weixin_39535527的博客 366

直流电机双闭环调速系统MATLAB仿真

Chopper-Fed DC Motor Drive This example shows a Chopper-Fed DC Motor Drive. Description The DC motor is fed by the DC source through a chopper which consists of GTO thyristor and free-wheeling diode ...

飞行动力的博客 2万+

AutoML综述

论文地址:https://arxiv.org/abs/1810.13306。 AutoML出现原因 机器学习的应用需要大量的人工干预,这些人工干预表现在:特征提取、模型选择、参数调节等机器学习的各个方面。AutoML视图将这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可被应用。 使用AutoML 的好处 市场潜力巨大:到根据Gartner 的数据,2022年,RPA相关的集成运用,将会以每年40%的速度增长。这是为什么这两年即使在资本市场降温的情况下,头.

Rnan_prince的博客 2389

STM32嵌入式开发实战:如何用miniLZO压缩算法节省70%存储空间(附完整工程)

本文详细介绍了如何在STM32嵌入式开发中使用miniLZO无损压缩算法实现高达70%的存储空间节省。通过对比分析不同轻量级算法,重点讲解miniLZO的内存优化配置、分块压缩策略和完整工程实现,帮助开发者有效解决嵌入式系统中的存储瓶颈问题。

ss78901的博客 881

RK3568-Linux-麒麟系统---更新制作麒麟rootfs

RK3568 Linux系统 麒麟国产麒麟镜像

qiuzw2003的博客 5360

Auto-Keras:一种高效的神经架构搜索系统

【背景知识】 1、NASNet:NASNet学习的是完整网络中被堆叠、被重复使用的网络单元。为了便于将网络迁移到不同的数据集上,我们需要学习两种类型的网络块: (1)Normal Cell:输出Feature Map和输入Feature Map的尺寸相同; (2)Reduction Cell:输出Feature Map对输入Feature Map进行了一次降采样,在Reduction Cell中,对使用Input Feature作为输入的操作(卷积或者池化)会默认步长为2。 NASNet网络单元的计算分为5

Hello World 2426

Verilog-asm小练习—PLL建模

Verilog- ams是Verilog标准的模拟混合信号语言,以下是对PLL建模的一种思路参考

weixin_44700185的博客 1016

自动化的机器学习:5个常用AutoML 框架介绍

AutoML 可以为预测建模问题自动找到数据准备、模型和模型超参数的最佳组合,本文整理了5个最常见且被熟知的开源AutoML 框架。 AutoML框架执行的任务可以被总结成以下几点: 预处理和清理数据。 选择并构建适当的特征。 选择合适的模型。 优化模型超参数。 设计神经网络的拓扑结构(如果使用深度学习)。 机器学习模型的后处理。 结果的可视化和展示。 在本文中,我们将介绍以下5 个开源 autoML 库或框架: Auto-Sklearn TPOT Hyperopt Sklearn Auto-Ker

deephub 5259

innovus实战攻略 | 用setUsefulSkewMode解锁时序优化的“隐藏技能”!

就像时序优化的“瑞士军刀”,参数虽多,但掌握了分类逻辑后,用起来其实很简单!如果你有更绝的用法,欢迎在评论区分享,大家一起卷起来!简单来说,它就是时序优化的“乾坤大挪移”。通过调整触发器的时钟到达时间,把关键路径的建立时间“借”给非关键路径,从而实现全局时序收敛。别急,这个命令就是你的“时序救星”!(工具最多只能借1.2ns的裕量,防止“借过头”导致新问题!这个参数能帮你兜底!(对关键路径“下死手”,确保优化到位!(设置上限,给工具套上“紧箍咒”!(直接跳过边界,避免优化反噬!(全局管理,防止“借过头”!

weixin_50820814的博客 1355

39、高频 LLC 谐振转换控制系统动态优化算法分析与研究

本文针对高频下LLC谐振转换器动态性能差的问题,提出一种基于谐振电容器充放电估计动态切换时间的优化控制算法。通过改进状态轨迹控制方法,突破传统算法在谐振频率与开关频率相等条件下的限制,并结合新型采样策略有效抑制电压过冲。算法在MATLAB和SABER中完成仿真验证,并搭建基于STM32F407的原型系统进行测试,结果表明该方法显著缩短动态响应时间,提升系统稳定性。研究为高频、高功率密度开关电源的动态优化提供了可行解决方案。

linux6sysadmin的博客 111

AutoML (云上GCP/云下软件MLBox, AutoSklearn, TPOT, Auto-Keras,TransmogriAI等)

自动Machine Learning的不同Pkg。 自动ML能够帮助非专家来使用ML来完成任务。 Google的AutoML https://www.ml4aad.org/ 列出了几个不同的产品 不知道哪个更Powerful。 Auto-keras是做神经网络的。 ...

SpanningWings的博客 622

【Codecs系列】x265编码器(十二):子像素运动搜索

在基于块运动补偿的视频编码框架中,运动搜索是最为重要的环节之一,同时也是编码端最为耗时的模块。运动搜索包括整像素运动搜索和子像素运动搜索,其中整像素运动搜索已经有很多快速算法,比如经典的三步搜索法、菱形搜索、六边形搜索以及TZSearch等等;但子像素搜索的快速算法却比较少,本文主要讲解x265编码器中的子像素搜索方法以及相关的快速搜索方法。

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 748

自动机器学习之Auto-Keras入门

对于训练深度学习,设计神经网络结构是其中技术含高最高的任务,优秀的网络架构往往依赖建构模型的经验,专业领域知识,以及大量的算力试错。实际应用中往往基于类似功能的神经网络微调生成新的网络结构。 Auto-Keras是一个离线使用的开源库,用于构建神经网络结构和搜索超参数,支持RNN,CNN神经网络,它使用了高效神经网络搜索ENAS,利用迁移学习的原理将在前面任务中学到的权值应用于后期的模型中,效率...

TURING.DT 1258

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

自动化机器学习入门指南,来了

之前的工作中也有多少接触过这个AutoML(Automated Machine Learning)的概念,简单来说就是把模型开发的标准过程模块化,都交给一些自动化的组件来完成,比如数据集...

算法channel 1579

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: Spark的Dataset操作(五)-多表操作 join
下一篇: Deep Learning with PyTorch 中文版 前5章
野男孩
博客等级 码龄21年 451粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值