API不过是一种运行在远端PC的程序。可以在本地通过互联网远程连接。例如,即使你的电脑里已经内置了扬声器,你仍可以再插入一个蓝牙。这样,利用笔记本电脑就可以远程访问扬声器。
API 的概念类似于有人已经帮你实现了较难的那部分工作。你可以用它来快速解决手上的问题。
1.2使用深度学习(Algorithmia API)为照片着色
自动着色一直是计算机视觉社区中的热门话题。从一张黑白图片获得一张彩色照片似乎是件超现实的事。想象一个4岁的孩子拿着蜡笔全神贯注于涂鸦本的场景,我们是否能教会人工智能同样去做这件事情呢?
这是当然一个难题。人类在观察事物颜色的过程中得到了经年累月的训练,我们自己可能不会注意到,但是我们的大脑在捕捉生活的每一刻,并从中提取有意义的信息,如天空是蓝的、草是绿的。这很难在人工智能体中建模。
近期的一项研究表明,如果我们基于大量准备好的数据集,对神经网络进行足够的训练,就能够从灰度图像中幻化出颜色的模型。下面是一个图像着色器的示例:
为了实现这一点,我们使用由Algorithmia开发的API。
步骤1:在Algorithmia上注册并获取您自己的API密钥。 你可以在个人资料中找到API密钥。
步骤3:选择要着色的照片,并将其上传到algorithmia提供的Data文件夹中。
步骤4:在本地创建一个文件,命名为trial1.py。 打开它,并写如下代码。注意需要输入你的图像在data文件夹中的路径,还有你的API密钥.
"image": "data:// … " # Set location of your own image
client = Algorithmia.client(‘…’) #insert your own API key
algo = client.algo('deeplearning/ColorfulImageColorization/1.1.5')
步骤5:打开命令提示符并输入“python trial1.py”运行刚才的代码。 输出的结果将自动保存在数据文件夹中。这是我得到的:
就是这样 - 你刚刚创建了一个简单的应用程序,它就像个孩子,可以填充图像中的颜色!容我自high一下:一颗赛艇!
pip install requests responses
pip install --upgrade watson-developer-cloud
步骤3:创建一个文件trial.py并复制以下代码。记住加入个人凭据。
from watson_developer_cloud import ConversationV1
conversation = ConversationV1(
username='YOUR SERVICE USERNAME',
password='YOUR SERVICE PASSWORD',
# replace with your own workspace_id
workspace_id = 'YOUR WORKSPACE ID'
response = conversation.message(workspace_id=workspace_id, message_input={
'text': 'What\'s the weather like?'})
print(json.dumps(response, indent=2))
步骤4:保存文件并在控制台中输入“python trial.py”运行程序。你可以在控制台中得到Watson对输入信息的输出响应。
输出:我明白你想要我找到一个便利设施。我可以在附近找到餐厅,加油站和洗手间。
如果你想构建一个包含动态汽车仪表盘(如上面gif所示)的完整对话服务项目。查看这个github存储库。
有时我们只想看到世界上的美好事物。如果读报纸的时候,只看到“好”消息,过滤掉所有坏消息,这将是多么酷的一件事。
使用先进的自然语言处理技术(其中之一是深度学习)使得一切成为可能。你现在可以根据情绪分析文本对新闻进行过滤,并将其呈现给读者。
采用Aylien的新闻API可以实现这一功能。下面是演示的截图。你可以构建自定义查询,并检查结果。
步骤2:登录时从个人资料中获取API_key和App_ID。
步骤3:进入terminal界面输入下面的语句,安装Aylien新闻API。
from aylien_news_api.rest import ApiException
# Configure API key authorization: app_id
aylien_news_api.configuration.api_key['X-AYLIEN-NewsAPI-Application-ID'] = ' 3f3660e6'
# Configure API key authorization: app_key
# create an instance of the API class
api_instance = aylien_news_api.DefaultApi()
'sort_by': 'social_shares_count.facebook',
'published_at_start': 'NOW-7DAYS',
'entities_body_links_dbpedia': [
'http://dbpedia.org/resource/Donald_Trump',
'http://dbpedia.org/resource/Hillary_Rodham_Clinton'
api_response = api_instance.list_stories(**opts)
print("Exception when calling DefaultApi->list_stories: %s\n" % e)
步骤5:保存文件并通过键入“python trial.py”开启运行。输出将是如下所示的jason dump:
'next_page_cursor': 'AoJbuB0uU3RvcnkgMzQwNzE5NTc=',
'stories': [{'author': {'avatar_url': None, 'id': 56374, 'name': ''},
'categories': [{'confident': True,
'links': {'_self': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB20-13',
'parent': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB20'},
'links': {'_self': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB11-3',
'parent': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB11'},
'links': {'_self': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB10-5',
'parent': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB10'},
'links': {'_self': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB25-5',
'parent': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB25'},
'links': {'_self': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB20',
'links': {'_self': 'https://api.aylien.com/api/v1/classify/taxonomy/iab-qag/IAB10',
哇!我可以做一个根据兴趣筛选新闻的对话应用程序了!我相信,现在你对深度学习感到很兴奋!
现阶段,对研究社区起最大帮助的是开源思维。研究人员分享他们取得的成果,深度学习也因此得到了跨越式发展。这里我涉及了一些开源成果,它们都是从从研究论文中转变过来的。
注意:对于开源应用程序,我建议你浏览一遍官方的存储库。因为很多项目仍处于初级阶段,可能会因为未知的原因而中断。
现在的系统可以轻松检测和纠正拼写错误,但纠正语法错误有点困难。为了提升这一能力,我们可以使用深度学习。这个存储库是特意为此设置的。
这里我们使用一个语料库来训练序列预测神经网络,该语料库包含一系列语法错误的句子以及它的更正结果。
输出:‘Kvothe went to the market’
你可以在网站上查看演示:http://atpaino.com/dtc.html
该模型仍然无法校正所有的句子,但随着更多的训练数据和高效的深度学习算法,结果会越来越好。
步骤1:从官网上安装tensorflow。另外,从GitHub下载存储库,并从https://github.com/atpaino/deep-text-corrector保存到本地。
步骤2:下载数据集(Cornell Movie-Dialogs Corpus),并将其解压到工作目录中
python preprocessors/preprocess_movie_dialogs.py --raw_data movie_lines.txt \
--out_file preprocessed_movie_lines.txt
python correct_text.py --train_path /movie_dialog_train.txt \
--val_path /movie_dialog_val.txt \
--config DefaultMovieDialogConfig \
--data_reader_type MovieDialogReader \
--model_path /movie_dialog_model
步骤5:该模型需要一些时间来训练。训练完成后,可以通过以下方式进行测试:
python correct_text.py --test_path /movie_dialog_test.txt \
--config DefaultMovieDialogConfig \
--data_reader_type MovieDialogReader \
--model_path /movie_dialog_model \
这里第二张图片是第一张图片通过深度学习得到的!这个有趣的应用程序表明深度学习无所不能!该应用程序的核心在于GAN(生成对抗网络),这种类型的深度学习能够本中生成新样本。
操作之前给你提个醒,如果不使用GPU,模型训练需要花很长的时间。即使使用高端GPU(Nvidia GeForce GTX 1080),一个图像的训练也需2小时。
步骤1:下载存储库并在本地解压缩https://github.com/david-gpu/deep-makeover
步骤2:从CelebA数据集下载“Align&Cropped; Images”。创建数据集文件夹,并命名为“dataset”,并把所有图片解压到其中。
python3 dm_main.py --run train
python3 dm_main.py --run inference image.jpg
2.4搭建深度强化学习机器人来玩Flappy Bird这款游戏
你可能玩过Flappy Bird这款游戏。对于不知道这个游戏的人来说,这款Android游戏很让人上瘾。在游戏里,玩家需要避开障碍,让小鸟一直在空中飞翔。
在这个应用中,这个飞鸟机器人就是利用强化学习技术创造的。这下面是一个训练好的机器人演示。