Skip to content

人工智能课开发环境部署

Liukai Chen edited this page May 16, 2018 · 4 revisions

一、开发环境部署

1. Java安装

jre

https://www.java.com/en/ 单击 Free Java Download,会自动检测操作系统,跳转到相应的安装包下载。 【注意区分jre和jdk,jre一般电脑里都会有。jre检查方法:C:\Program Files\Java】

jdk

http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意:选择java8安装。java9-10安装后后面PyDev暂不支持这么高版本的java。

环境变量设置

非Win10系统

右键我的电脑 -> 属性 -> 高级系统设置

点击系统变量下面的新建按钮,变量名JAVA_HOME(代表你的JDK安装路径),值对应的是你的JDK的安装路径。

继续在系统变量里面新建一个CLASSPATH变量,其变量值如下图所示:


.;%JAVA_HOME%\lib;%JAVA_HOME%\libs\tools.jar;

在你的系统变量里面找一个变量名是PATH的变量,需要在它的值域里面追加一段如下的代码:


%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

应该在原有的值域后面追加,记得在原有的值域后面记得添加一个英文状态下的分号。

最后点击确定,此时JDK的环境变量配置就完成了。

Win 10 系统

右键我的电脑 -> 属性 -> 高级系统设置 -> 系统变量 -> 直接选中Path然后编辑即可。

在编辑中分别添加

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

其中%JAVA_HOME%为java安装路径。

测试安装成功与否

https://blog.csdn.net/u012934325/article/details/73441617/

测试自己所配置的环境变量是否正确 (1)WINDOWS+R键,输入cmd,进入命令行界面,如下所示: 这里写图片描述 (2)输入java -version命令,可以出现提示,你可以看你安装的JDK版本。 (3)输入javac命令可以出现命令列表 (4)输入java命令可以出现另外的一些命令列表 写一段代码可以验证一下: (1)在E盘新建一个文件夹叫javafile,在里面有一个Java文件,名字叫TestJava.java,此时需要注意,你的文件名字后缀一定是.java (2)你需要在你的文件里面写下面的代码

public class TestJava{

    public static void main(String[] args){

        System.out.println("Hello world!");

    }

}

(3)继续windows+r键进入dos命令行,你需要首先进入你java文件所在的目录,然后分别使用javac命令对你的java文件进行编译,然后使用java命令来解析你的javac命令编译的结果。如果运行正常,将会在命令行窗口显示: Hello world! 此处一定要注意:必须进入文件所在的目录;其次使用javac命令 文件的名字的后面一定要跟着.java的文件后缀;使用java命令时.java后缀可以不用写。 当你执行完javac命令如果没有错误提示,说明通过了编译,会在你的文件目录下生成一个同名的.class文件。 如果你完成了以上的所有,并且结果显示正确,那么说明你的JDK安装和环境配置都很成功,此时你就可以开始你的JAVA学习了。

2. Eclipse安装

下载地址:https://www.eclipse.org/downloads/ 直接下载安装即可。 Eclipse是一款Java开发者常用的IDE,常见功能风格与VS相类似。

3. Eclipse - PyDev安装

eclipse -> Help -> Install New Software -> Add:

Name: PyDev Location: http://pydev.org/updates Click OK.

勾选第一项然后一直确认即可。

Eclipse UI右下角显示下载安装进度。

4. Python3和Tensorflow安装

1. 部署Python3

  • Python3版本要求:3.5+
  • python.org直接下载适应当前操作系统的Python3版本即可,下载后安装。 推荐勾选上add to PATH和install for all users,这样不用再去改动系统环境变量。
  • 安装完毕标志: 打开cmd,输入python回车,显示python版本,进入命令行模式。输入exit()回车退出python。

输入pip3能显示各种命令。pip3.exe的存放位置在python目录下,/Scripts/

2. 安装Python的各种库:pip3工具

  • 管理员方式打开cmd。(win+Q打开windows搜索,输入cmd,鼠标右键以管理员模式运行。) 格式:pip3 install Lib_Name
  • 推荐安装python的数学画图库,matplotlib,命令为 pip3 install matplotlib 有概率失败,因为没有装前置的工具似乎是,csdn的一篇博文有提到过,按照它的流程可以走得通。
  • 安装完毕标志: 命令行输入
python
import matplotlib
matplotlib.__version__

显示的是matplotlib的版本

  • 安装sklearn数据库: pip install scipy pip install sklearn

3. pip3安装TensorFlow

TensorFlow with CPU support only. If your system does not have a NVIDIA® GPU, you must install this version. Note that this version of TensorFlow is typically much easier to install (typically, in 5 or 10 minutes), so even if you have an NVIDIA GPU, we recommend installing this version first. Prebuilt binaries will use AVX instructions. TensorFlow with GPU support. TensorFlow programs typically run significantly faster on a GPU than on a CPU. Therefore, if your system has a NVIDIA® GPU meeting the prerequisites shown below and you need to run performance-critical applications, you should ultimately install this version.

两者只能安装一个。 二者名称不同,一个为tensorflow,一个为tensorflow-gpu。

  • 安装最新版本的tensorflow pip3 install --upgrade tensorflow
  • 考虑到tensorflow的版本变化比较大,有时候需要统一安装指定版本的tf以便合作开发 pip3 install tensorflow-gpu==1.1.0
  • 安装完毕标志: 命令行输入
python
import tensorflow
tensorflow.__version__

显示的是tensorflow的版本

5. Py4J安装

以管理员身份运行cmd pip3 install --upgrade py4j

二、样例运行

1. 安装及配置Egit

https://jingyan.baidu.com/article/59703552dcc5ad8fc107407e.html

1.首先在github.com上申请一个账号,以下例子中账号为puma007 2.Eclipse需要安装egit插件,在Eclipse中选择help->Marketplace,在search中输入egit,找到后安装即可

3.在github上找到你要导入的源码项目,以oschina的Android客户端为例,网址:https://github.com/oschina/android-app

  1. 有三种导入方式HTTP、SSHGit 、Read-Only,下面以http方式为例,单击http按钮,右边文本框会出现https://github.com/oschina/android-app.git,复制该信息

5.从Eclipse中选择File->import->Git->Projects from Git

6.选择next->选择URI

7.选择next,粘贴URI(注意填上你在github上申请的账号密码):

我们需要分别执行两次这个操作,URI为

https://github.com/InterPSS-Project/ipss-common.git https://github.com/interpss/DeepMachineLearning.git

8.选择next,进入分支选择,这里选择的是master

9.选择next,配置本地项目存放路径

10.选择next

11.单击Finish,然后选择Import existing projects,然后再单击Finish即可在Eclipse中看到导入的项目了!

下面是实际导入的项目(第2~第7,共6项)

2. predict_voltage学习样例运行

先运行AclfPyGateway,作为python VM和JVM的数据通道。

再运行predict_voltage.py,包括了样例生成和网络训练两部分。 (注:由于每次测试集是随机生成的,所以具体数据可能不同)

三、常见问题汇总

1. 其他步骤都正常配置好后,运行predict_voltage.py时,与样例运行结果不同

另外,在运行AclfPyGateWay.java时, Exception in thread "main" py4j.Py4JNetworkException Caused by: java.net.BindException: Address already in use: JVM_Bind 这是因为已经在运行了。 Console:

  • 解决方法: eclipse重启

  • 原因: eclipse安装完相应组件后需要重启

  • 解决方法2 安装java8。 具体步骤:下载并安装java8后,eclipse > Windows > Preferences > Java > Complier > Complier compliance level: 1.8

  • 原因: PyDev目前暂不支持java10

2. eclipse问题:internal error occurred during: "Compute launch button tooltip".

  • 解决方法: 重装eclipse,重新配置PyDev可以解决。

  • 原因 原因未明。有过一个‘12年的帖子实验了java7降级为java6之后可行,猜测是java10版本过高的原因,但实测装了java8之后发现并不是。

3. 其他配置都顺利完成之后,运行predict_voltage.py报错

An error occurred while calling t.loadCase. : java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException

  • 解决方法: 重启eclipse

  • 原因: Py4J配置后需要重启eclipse才可使用。出现这个问题可能是安装Py4J的过程中开着eclipse。