Breeze环境搭建与快速上手 |
您所在的位置:网站首页 › easybreeze免费下载 › Breeze环境搭建与快速上手 |
1 用sbt构建scala项目
参考网址: https://github.com/scalanlp/breeze/wiki/Installation https://docs.scala-lang.org/getting-started/sbt-track/getting-started-with-scala-and-sbt-on-the-command-line.html 1.1 sbt环境安装 手动安装sbt,然后通过xftp上床到Linux服务器解压sbt安装包,并添加环境变量(在实验中一般用得modulefile)开始使用sbt构建scala项目 1.2 sbt使用方法-shell快速构建在配置好环境变量以后,直接在命令行中输入sbt,此时会进入sbt的shell交互式界面,如下图所示 这样依赖库就配置好了,当输入console之后,会直接进入scala-shell命令行,然后把依赖的库import导入: 我是采用手动安装的方式,因为一般手动安装成功率较高,不会产生因为源而导致速度过慢的问题。 sbt安装包直接搜索sbt官网。下载完成后,通过xftp上传到服务器。一般在服务器的、usr/local/目录下进行解压,然后添加环境变量(如果使用的是module模块,就往modulefile文件里面添加sbt的bin目录的位置就OK)。 现在就可以开始构建工程了,我是通过VsCode里面的Remote SSL模块进行连接服务器,并创建文件夹的,这样使用起来非常方便。 首先在/home/name/路径下建立一个项目文件夹:breezetest 然后再该项目文件夹下创建一个project文件夹和一个src文件夹。 在project里面创建一个build.properties文件,内容如下: 然后创建一个与src同级的文件为:build.sbt,里面就放官方的依赖,例如: 创建稠密向量,尽管元素是零,也会占用内存空间。同理,我们可以创建稀疏向量:SparseVector.zeros[Double](5) 如果要创建行向量,需要通过装置: Transpose[Vector[T]]或者用x.t 向量元素的访问向量元素的索引是从0—length-1,也可以使用负索引。当i x(0) Double = 0.0 scala> x(1) = 2 scala> x breeze.linalg.DenseVector[Double] = DenseVector(0.0, 2.0, 0.0, 0.0, 0.0) 也可以支持向量分片(注: 对向量集操作的时候需要用操作符:=) scala> x(3 to 4) := .5 breeze.linalg.DenseVector[Double] = DenseVector(0.5, 0.5) scala> x breeze.linalg.DenseVector[Double] = DenseVector(0.0, 2.0, 0.0, 0.5, 0.5) 创建矩阵 scala> val m = DenseMatrix.zeros[Int](5,5) m: breeze.linalg.DenseMatrix[Int] = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0刚才创建的稠密矩阵,列可以通过稠密向量DenseVectors访问,行可以通过稠密矩阵DenseMatrices访问 scala> (m.rows, m.cols) (Int, Int) = (5,5) scala> m(::,1) breeze.linalg.DenseVector[Int] = DenseVector(0, 0, 0, 0, 0) scala> m(4,::) := DenseVector(1,2,3,4,5).t // transpose to match row shape breeze.linalg.DenseMatrix[Int] = 1 2 3 4 5 scala> m breeze.linalg.DenseMatrix[Int] = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 访问矩阵通过指定行和列的范围去指定矩阵的子矩阵 cala> m(0 to 1, 0 to 1) := DenseMatrix((3,1),(-1,-2)) breeze.linalg.DenseMatrix[Int] = 3 1 -1 -2 scala> m breeze.linalg.DenseMatrix[Int] = 3 1 0 0 0 -1 -2 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 3 4 5 2.2 核心概念 breeze是默认为列主序的breeze的核心概念是矩阵和列向量行向量通常存储为只有一行的矩阵缺点是行向量到列向量的转换是使用转置切片(a.t(::,0))而不是简单的转置(a.t)执行的。(注意:UFuncs在Breeze中非常重要。一旦你对语法有了一定的了解(也就是这个部分的内容),你就有必要读一读UFunc wiki页面的前半部分。) |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |