人工智能自动代码生成2---环境搭建

在进行具体的开发之前,我们需要选择具体采用的实现技术,并搭建开发环境。我们在这里选择Python 3.x,因为我们会将人工智能、机器学习的算法应用到代码生成中,而在人工智能和机器学习领域,Python无疑是最流行的语言,因此我们选择Python语言有利于我们在后期引入人工智能和机器学习算法。其次是选择开发平台,对于软件开发而言,比较理想的开发平台,当然是Linux系统,例如Ubuntu系统,再有就是MacOS系统。但是国内程序员大多数都用的是Windows系统,因此为了更接地气,我们在这里也选择Windows平台。

下面,我们就来看一下怎样在Windows平台下,搭建一个Python的人工智能开发环境。

首先第一步是安装Python。当然我们可以选择到Python网站下载最新版本Python,然后安装各种科学计算的扩展,诸如numpy、scikit、matplotlib、PIL等,虽然有pip安装工具,但是配置PIL等还是需要很多依赖,一一找齐它们在Windows下的二进制最新版本,并且彼此兼容,是一个需要极大耐心的体力活。幸亏有人体谅我们的苦处,为我们准备了一键是安装工具anaconda。这个软件可以帮助我们一次安装好Python科学计算所需的依赖库,非常方便。

我们首先到官网上下载安装文件:https://repo.continuum.io/archive/Anaconda3-4.3.0.1-Windows-x86_64.exe,注意我在这里列出的是我下载时的最新版本,同时是针对Windows 64位的系统,大家需要根据自己系统选择不同的版本。

下载完成之后,双击就可以进行安装了,按照系统的提示,一步一步进行正常安装即可。安装完成后,打开一个Dos窗口,在命令行中输入命令:

python

如果可以进入到python提示符状态,那么就说明我们的安装是成功的。下面在命令行试着引入几个库:

import numpy as np
import matplotlib.pyplot as plt
import PIL 

如果系统不报错,就基本证明我们的安装是成功的。为了进一下证明我们的安装是成功的,大家可以编定一个绘制Sigmoid函数曲线的程序,代码t0.py如下所示:

import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(-5.0, 5.0, 1000)
y = (1 / (1 + np.exp(-x)))
plt.figure(figsize=(8, 4))
plt.plot(x, y, label='$exp(x)$', color='blue', linewidth=2)
plt.xlabel('x')
plt.ylabel('y')
plt.title('logistic function')
plt.ylim(0, 1.1)
plt.xlim(-5.0, 5.0)
plt.legend()
plt.show()

在Dos命令行下运行:python t0.py,系统会打出如下所示的图形:


当有了Python开发环境之后,我们就需要下载自动代码生成中需要用到的库Jinja2。由于我们将用Jinja2来生成代码,可能会涉及深度定制Jinja2代码,因此我们选择以源码形式安装Jinja2。为了能以源码形式安装Jinja2,我们需要安装Git命令行工具。大家随使下载一个Windows下的Git工具即可。

进入Git命令行模式,进入到开发根目录(以下我们用$home表示),创建并进入libs目录,检出Jinja2的代码:

git clone git://github.com/pallets/jinja.git

这会在当前目录($home/libs/)下创建jinja目录。

下面我们来做一个Hello World级的小程序,来看一下我们的Jinja2库是否下载成功。

我们在$home目录下创建t1.py文件,写入如下内容:

import sys
sys.path.append('./libs/jinja')
from jinja2 import Template
template = Template('Hello {{ name }}')
rst = template.render(name='Yt')
print(rst)

系统会打印出Hello Yt,这说明运行时Jinja2将我们的表达式{{ name }}求出具体的值,这里是Yt,并将结果打印出来。

至此,我们的开发环境搭建就完成了。在下一节中,我们将一起来学习一下Jinja的语法,这是我们代码生成的基础。

猜你喜欢

转载自blog.csdn.net/yt7589/article/details/60881858
今日推荐