新闻资讯

当前位置:首页 > 新闻中心 > 公司新闻

    随着人工智能技能的发展和国务院印发的

    来源:www.dfsbp.com    发布于:2019-4-21 9:10:32    点击量:

    2019/04/22 08/24/02  【丹佛斯变频器 www.dfsbp.com】

      这些年随着HTML技术的普及,浏览器对PC和手机硬件的控制越来越好。2018年11月,权威咨询机构发布《2018年私有云市场各品牌竞争力分析》,华云数据跃入领导者象限,成为中国私有云厂商前三甲。绘图画布的尺寸为 300*300,这可能是两个手绘图像的大小,或者可以在上面绘制一个小图像。而前端在这三个方向种,最容易参与进去,同时也最容易做出成绩的地方就是在工程方面。

      导入

      将使用以 TENSORFLOW 作为后端、KERAS 作为前端的编程框架

      IMPORT OS

      IMPORT GLOB

      IMPORT NUMPY AS NP

      FROM TENSORFLOW.KERAS IMPORT LAYERS

      FROM TENSORFLOW IMPORT KERAS

      IMPORT TENSORFLOW AS TF

      加载数据

      首先下载数据集。

      # RESHAPE AND NORMALIZE

      X_TRAIN=

      X_TRAIN.RESHAPE(X_TRAIN.SHAPE[0],IMAGE_SIZE, IMAGE_SIZE, 1).ASTYPE('FLOAT32')

      X_TEST=

      X_TEST.RESHAPE(X_TEST.SHAPE[0], IMAGE_SIZE,IMAGE_SIZE, 1).ASTYPE('FLOAT32')

      X_TRAIN /=255.0

      X_TEST /=255.0

      # CONVERT CLASS VECTORS TO CLASS MATRICES

      Y_TRAIN=KERAS.UTILS.TO_CATEGORICAL(Y_TRAIN,NUM_CLASSES)

      Y_TEST=KERAS.UTILS.TO_CATEGORICAL(Y_TEST,NUM_CLASSES)

      创建模型

      创建一个简单的卷积神经网络,模型越简单、参数越少越好。随着人工智能技能的发展和国务院印发的《新一代人工智能发展规划》,人工智能越来越受到开发者们的关注,从而也导致了各种人工智能的库涌现出来,并且越来越完善强大。实际上,将把模型转换到浏览器上然后再运行,并希望模型能在预测任务中快速运行。

      3) 重新训练现有模型

      使用连接到浏览器的传感器数据或其他客户端数据重新训练ML模型。对于前三点偏重交互的领域,毋庸置疑用前端做起来驾轻就熟,而后面偏重计算的领域,前端是否合适做,或者说前端该怎么去做是有可以探讨的。无需安装任何额外的插件,可直接在浏览器上运行,使用谷歌COLAB来训练模型,并使用TENSORFLOW.JS将它部署到浏览器上。

      阅读下面的教程()了解如何创建 NOTEBOOK 和开始进行 GPU 编程。

      2) 运行现有模型

      使用TENSORFLOW.JS模型转换器在浏览器中运行预训练好的TENSORFLOW模型。

      华云数据“智汇华云”专栏将为您奉上“2019前端战略规划”系列文章,本期将为您讲解2019前端战略规划之人工智能AI。而在混合应用上,仍然也可以经受住考验,混合应用在手机上做个图表是轻轻松松的事(只需要获取数据,然后显示)。

      不过,上图是完善版的物联网,代码自然是在GITHUB上啦:LAN。

      MODEL.SAVE(‘KERAS.H5’)

      为转换安装TENSORFLOW.JS:

      !PIP INSTALL TENSORFLOW.JS

      对模型进行转换:

      !MKDIR MODEL

      !TENSORFLOWJS_CONVERTER --INPUT_FORMAT KERAS KERAS.H5MODEL/

      通过 ZIP 将模型进行压缩,以便将其下载到本地机器上:

      !ZIP -R MODEL.ZIP MODEL

      最后下载模型:

      FROM GOOGLE.COLAB IMPORT FILES

      FILES.DOWNLOAD('MODEL.ZIP')

      加载模型

      使用TENSORFLOW.JS:

      预处理

      从画布中获取图像数据:

      //THE MINIMUM BOUDNING BOX AROUND THE CURRENT DRAWING

      CONST MBB=GETMINBOX

      //CACLUATE THE DPI OF THE CURRENT WINDOW

      CONST DPI=WINDOW.DEVICEPIXELRATIO

      //EXTRACT THE IMAGE DATA

      CONST IMGDATA=

      CANVAS.CONTEXTCONTAINER.GETIMAGEDATA(MBB.MIN.X * DPI, MBB.MIN.Y * DPI,(MBB.MAX.X - MBB.MIN.X) * DPI, (MBB.MAX.Y - MBB.MIN.Y) * DPI);

      将画布当前的图像数据转化为一个张量,调整大小并进行归一化处理:

      FUNCTION PREPROCESS(IMGDATA){

      RETURNTF.TIDY(=>{

      //CONVERT THE IMAGE DATA TO A TENSOR

      LETTENSOR=TF.FROMPIXELS(IMGDATA, NUMCHANNELS=1)

      //RESIZETO 28 X 28

      CONSTRESIZED=TF.IMAGE.RESIZEBILINEAR(TENSOR, [28, 28]).TOFLOAT

      //NORMALIZE THE IMAGE

      CONSTOFFSET=TF.SCALAR(255.0);

      CONSTNORMALIZED=TF.SCALAR(1.0).SUB(RESIZED.DIV(OFFSET));

      //WE ADDA DIMENSION TO GET A BATCH SHAPE

      CONSTBATCHED=NORMALIZED.EXPANDDIMS(0)

      RETURNBATCHED

      })

      }

      使用 MODEL.PREDICT 进行预测,这将返回一个规模为「伟肯变频器N, 100」的概率。TENSORFLOW.JS 不仅可以提供低级的机器学习构建模块,还可以提供高级的类似 KERAS 的 API 来构建神经网络。

      CONST PRED=

      MODEL.PREDICT(PREPROCESS(IMGDATA)).DATASYNC

      提升准确率

      模型接受的输入数据是规模为 [N, 28, 28, 1] 的张量。

      优点:

      1) 不用安装驱动器和软件,通过链接即可分享程序

      2) 网页应用交互性更强

      3) 有访问GPS,CAMERA,MICROPHONE,ACCELERATOR,GYROSCOPE等传感器的标准API(主要是指手机端)

      4) 安全性,因为数据都是保存在客户端的

      应用方式:

      1) 在浏览器中开发ML

      使用简单直观的API从头构建模型,然后使用低级别的JAVASCRIPT线性代数库或高层API进行训练。

      图形识别:你画我猜

      这里演示创建一个简单的工具来识别手绘图像,并且输出当前图像的名称。

      TENSORFLOW.JS 可以为你提供高性能的、易于使用的机器学习构建模块,允许你在浏览器上训练模型,或以推断模式运行预训练的模型。

      DEF LOAD_DATA(ROOT, VFOLD_RATIO=0.2,MAX_ITEMS_PER_CLASS=5000 ):

      ALL_FILES=GLOB.GLOB(OS.PATH.JOIN(ROOT, '*.NPY'))

      #INITIALIZEVARIABLES

      X=NP.EMPTY([0, 784])

      Y=NP.EMPTY([0])

      CLASS_NAMES=

      #LOAD ASUBSET OF THE DATA TO MEMORY

      FOR IDX,FILE IN ENUMERATE(ALL_FILES):

      DATA=NP.LOAD(FILE)

      DATA=DATA[0: MAX_ITEMS_PER_CLASS, :]

      LABELS=NP.FULL(DATA.SHAPE[0], IDX)

      X=N变频器维修P.CONCATENATE((X, DATA), AXIS=0)

      Y=NP.APPEND(Y, LABELS)

      CLASS_NAME, EXT=OS.PATH.SPLITEXT(OS.PATH.BASENAME(FILE))

      CLASS_NAMES.APPEND(CLASS_NAME)

      DATA=NONE

      LABELS=NONE

      #SEPARATEINTO TRAINING AND TESTING

      PERMUTATION=NP.RANDOM.PERMUTATION(Y.SHAPE[0])

      X=X[PERMUTATION, :]

      Y=Y[PERMUTATION]

      VFOLD_SIZE=INT(X.SHAPE[0]/100*(VFOLD_RATIO*100))

      X_TEST=X[0:VFOLD_SIZE, :]

      Y_TEST=Y[0:VFOLD_SIZE]

      X_TRAIN=X[VFOLD_SIZE:X.SHAPE[0], :]

      Y_TRAIN=Y[VFOLD_SIZE:Y.SHAPE[0]]

      RETURNX_TRAIN, Y_TRAIN, X_TEST, Y_TEST, CLASS_NAMES

      数据预处理

      对数据进行预处理操作,为训练模型做准备。2019年3月,华云数据宣布对国际领先超融合软件厂商MAXTA, INC.全部资产完成了合法合规收购。

      流程

      使用KERAS框架在谷歌COLAB免费提供的GPU上训练模型,然后使用 TENSORFLOW.JS 直直接在浏览器上运行模型。

      。

      IMPORT URLLIB.REQUEST

      DEF DOWNLOAD:

      BASE=''

      FOR C INCLASSES:

      CLS_URL=C.REPLACE('_', '%20')

      PATH=BASE+CLS_URL+'.NPY'

      PRINT(PATH)

      URLLIB.REQUEST.URLRETRIEVE(PATH, 'DATA/'+C+'.NPY')

      加载图像(每个类型5000张), 其中的 20% 作为测试数据。该模型将使用规模为 [N, 28, 28, 1] 的批处理,并且输出规模为 [N, 100] 的概率。

      这个卷积神经网络将在QUICKDRAW数据集

      ()上接受训台达变频器练。为了做到这一点,通过找到左上方和右下方的点来提取围绕图像的最小边界框。

      谷歌推出的第一个基于TENSORFLOW的前端深度学习框架TENSORFLOW.JS 是一个开源的用于开发机器学习项目的 WEBGL-ACCELERATED JAVASCRIPT 库。

      相信大家对数据可视化也不会陌生,很容易能联想到阿尔法狗,这些年明显的趋势也是人工智能,比如语音识别、图像识别、人脸识别、指纹识别等,以及现在外面在做的一些数据可视化的内容。

      //RECORD THE CURRENT DRAWING COORDINATES

      FUNCTION RECORDCOOR(EVENT){

      //GET CURRENTMOUSE COORDINATE

      VAR POINTER=CANVAS.GETPOINTER(EVENT.E);

      VAR POSX=POINTER.X;

      VAR POSY=POINTER.Y;

      //RECORD THEPOINT IF WITHING THE CANVAS AND THE MOUSE IS PRESSED

      IF(POSX >=0&& POSY >=0 && MOUSEPRESSED)

      {

      COORDS.PUSH(POINTER)

      }

      }

      //GET THE BEST BOUNDING BOX BY FINDING THE TOP LEFTAND BOTTOM RIGHT CORNDERS

      FUNCTION GETMINBOX{

      VAR COORX=COORDS.MAP(FUNCTION(P) {RETURN P.X});

      VAR COORY=COORDS.MAP(FUNCTION(P) {RETURN P.Y});

      //FIND TOPLEFT CORNER

      VARMIN_COORDS={

      X :MATH.MIN.APPLY(NULL, COORX),

      Y :MATH.MIN.APPLY(NULL, COORY)

      }

      //FIND RIGHTBOTTOM CORNER

      VARMAX_COORDS={

      X :MATH.MAX.APPLY(NULL, COORX),

      Y :MATH.MAX.APPLY(NULL, COORY)

      }

      RETURN {

      MI伟肯变频器N :MIN_COORDS,

      MAX :MAX_COORDS

      }

      }

      关于华云数据:

      华云数据集团专注于为客户提供 “自主、安全、可控”的云计算服务,以帮助用户采用云计算提升IT能力,实现业务变革。最好只裁剪包含当前手绘图像的方框。

      成立八年来,华云数据坚持自主研发,获得了512项知识产权,在私有云、混合云、公有云和超融合领域均通过了相关可信云认证,获得了软件能力成熟度模型集成CMMI5证书,是国家课题承接单位、中国十大云计算解决方案提供商。

      下面的模型包含 3 个卷积层和 2 个全连接层:

      # DEFINE MODEL

      MODEL=KERAS.SEQUENTIAL

      MODEL.ADD(LAYERS.CONVOLUTION2D(16, (3, 3),

      PADDING='SAME',

      INPUT_SHAPE=X_TRAIN.SHAPE[1:], ACTIVATION='RELU'))

      MODEL.ADD(LAYERS.MAXPOOLING2D(POOL_SIZE=(2, 2)))

      MODEL.ADD(LAYERS.CONVOLUTION2D(32, (3, 3),PADDING='SAME', ACTIVATION='RELU'))

      MODEL.ADD(LAYERS.MAXPOOLING2D(POOL_SIZE=(2, 2)))

      MODEL.ADD(LAYERS.CONVOLUTION2D(64, (3, 3),PADDING='SAME', ACTIVATION='RELU'))

      MODEL.ADD(LAYERS.MAXPOOLING2D(POOL_SIZE=(2,2)))

      MODEL.ADD(LAYERS.FLATTEN)

      MODEL.ADD(LAYERS.DENSE(128, ACTIVATION='RELU'))

      MODEL.ADD(LAYERS.DENSE(100, ACTIVATION='SOFTMAX'))

      # TRAIN MODEL

      ADAM=TF.TRAIN.ADAMOPTIMIZER

      MODEL.COMPILE(LOSS='CATEGORICAL_CROSSENTROPY',

      OPTIMIZER=ADAM,

      METRICS=['TOP_K_CATEGORICAL_ACCURACY'])

      PRINT(MODEL.SUMMARY)

      拟合、验证及测试

      对模型进行了 5 轮训练,将训练数据分成了 256 批输入模型,并且分离出 10% 作为验证集。华云数据主要面向企业级用户提供定制化私有云、混合云解决方案,同时还可以提供大数据服务、超融合产品、公有云、IDC转云等服务。

      传统意义上PYTHON已经成为了最受欢迎的机器学习语言,近来,JAVASCRIPT也出现的很多优秀的框架,尽管JAVASCRPT和NODE.JS的的性能要比 PYTHON 和 JAVA 的性能差,但它们已经能够应对机器学习中的许多问题。2016年起,华云数据集团连续三年被评为中国独角兽企业; 2018年5月,进入 “中国大数据独角兽企业TOP20榜”, 2018年7月,荣膺“2018中国互联网百强企业”称号,2018年8月,入围“中国大数据企业50强”。

      该数据集包含 345 个类别的大约 5 千万张手绘图像。在AI的项目中,很多时候需要获取麦克风和摄像头的权限,好实现“听”,“说”,“看”的功能,对于图片的处理,网上也已经有不少用CANVAS实现的例子。

      DEMO地址:

      CODE地址:

      数据集

      使用卷积神经网络(CNN)来识别不同类型的手绘图像。

      能做什么

      前端工程在人工智能的团队到底能做什么,体现怎么的价值?从实践看,要完成一个完整的人工智能项目,三种东西是不可或缺的:算法,数据和工程。

      具体的大致可以分为五块内容:人机交互,数据可视化,产品WEB,计算,模型训练和算法执行。

      TENSORFLOW

      TENSORFLOW.JS是一个开源的基于硬件加速的JAVASCRIPT库,用于训练和部署机器学习模型。同时,WEB 编程语言也具有很强的易用性,即你只要搞定了 WEB 浏览器,那么运行 JAVASCRIPT 人工智能项目就不是问题。作为服务端来说,NODE.JS的能力已经是经过验证的。

      在TENSORFLOW.JS上有一个教程:

      下图为处理流程:

      在COLAB上进行训练

      谷歌 COLAB提供了免费的 GPU 处理能力。自2010年成立以来,华云数据不断深入了解企业用户需求和行业特性,是一家追求卓越的云计算服务提供商。

      #FIT THE MODEL

      MODEL.FIT(X=X_TRAIN, Y=Y_TRAIN,

      VALIDATION_SPLIT=0.1,BATCH_SIZE=256, VERBOSE=2, EPOCHS=5)

      #EVALUATE ON UNSEEN DATA

      SCORE=

      MODEL.EVALUATE(X_TEST, Y_TEST, VERBOSE=0)

      PRINT('TEST ACCUARCY: {:0.2F}%'.FORMAT(SCORE[1] *100))

      准备WEB格式的模型

      在得到满意的模型准确率后,将模型保存下来,以便进行下一步的转换

    20190422082402

相关阅读


版权所有: 上海丹佛斯变频器一级代理商 服务热线:13917851195 版权所有