第十小组Alpha冲刺(3/3)-创新互联
学习了flask框架的概念与使用,以将python的深度学习算法部署到web网页中,Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,可以完成功能丰富的中小型网站或Web服务的实现。我使用flask框架将一些简单的计算程序成功部署到了web页面上。
眉山网站建设公司创新互联公司,眉山网站设计制作,有大型网站制作公司丰富经验。已为眉山上千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的眉山做网站的公司定做!2.根据ResNet50网络的结构图,参考开源代码,完成了网络构建,根据已有的10位作家的作品集完成了模型的训练,得到了较好的识别准确率。
3.对网站前端的实现,如显示界面UI等,以及部分报告的编写。目前已经制作好了项目的网页,等项目初步完成后再做相应的细节修改即可。
4.
在colab上运行图像识别算法代码
阶段成果:
运行时报错:CUDA out of memory
于是查看GPU内存占用情况,首先安装支持包
然后运行以下代码:
import psutil
import humanize
import os
import GPUtil as GPU
GPUs = GPU.getGPUs()
# XXX: only one GPU on Colab and isn’t guaranteed
gpu = GPUs[0]
def printm():
process = psutil.Process(os.getpid())
print("Gen RAM Free: " + humanize.naturalsize(psutil.virtual_memory().available), " | Proc size: " + humanize.naturalsize(process.memory_info().rss))
print("GPU RAM Free: {0:.0f}MB | Used: {1:.0f}MB | Util {2:3.0f}% | Total {3:.0f}MB".format(gpu.memoryFree, gpu.memoryUsed, gpu.memoryUtil*100, gpu.memoryTotal))
printm()
得到GPU占用情况,发现占用已满,接着使用命令!ps -aux|grep python查看具体占用情况
使用!kill -9 pid释放内存,释放完后再次查看GPU内存占用情况
发现内存很充足,将Dataloader的参数batch_size更改为2,num_workers更改为2,再次运行,没有出现CUDA out of memory错误
计划的工作: 1.利用flask框架将图像识别算法部署到web页面上,用户在进行画像上传时,web页面把收集到的画像传给后台的图像识别算法进行处理,再把得到的结果返回到web页面上。
2.实现对ART数据集49位画家的画作分类,只需调整参数即可;尝试采用其他网络模型或者检查网络模型的问题,以提高准确率
遇到的困难: 1.flask框架的语法与python略有不同,在学习时需要注意正确使用,以把python语句上传到web页面上。
2.当前采用的网络准确率在85%-90%之间,似乎并不够高
个人收获: 关子琦.掌握了flask框架的使用,对深度学习算法和web页面的结合有了更深的理解,同时也加强了对前端和后端工作的理解,为制作一个功能齐全的网页,二者缺一不可。
别鹏飞.深入了解了resnet50网络模型的结构并根据资料进行了模型组网,完成了网络的实现并得到了不错的识别准确率,也了解了许多其他网络模型,包括一些复杂网络,如densenet201。通过这次实验,我对神经网络模型尤其是经典的resnet50有了较好地理解。
代码:(网络模型)
#卷积层2(包括卷积,池化,激活)
layer_conv2 = create_convolutional_layer(input=layer_conv1,
num_input_channels=num_filters_conv1,
conv_filter_size=filter_size_conv2,
num_filters=num_filters_conv2)
#卷积层3(包括卷积,池化,激活)
layer_conv3= create_convolutional_layer(input=layer_conv2,
num_input_channels=num_filters_conv2,
conv_filter_size=filter_size_conv3,
num_filters=num_filters_conv3)
#把上面三个卷积层处理后的结果转化为一维向量,提供给全连层
layer_flat = create_flatten_layer(layer_conv3)
#全连接层1
layer_fc1 = create_fc_layer(input=layer_flat,
num_inputs=layer_flat.get_shape()[1:4].num_elements(),
num_outputs=fc_layer_size,
use_relu=True)
#全连接层2
layer_fc2 = create_fc_layer(input=layer_fc1,
num_inputs=fc_layer_size,
num_outputs=num_classes,
use_relu=False)
李柏林.在本次项目中,虽然我参与编写的部分不多,但是在之前的相关学习中我也了解了很多有关这个项目的其他很多知识。我负责的部分,虽然是整个项目最简单的部分,但是做起来还是有很多问题,从一开始的平台搭建到后面的具体代码书写,一路走来总是磕磕绊绊,但是还好网络中有许多学习资源,对照着网上的教程一点点开始最后还是完成了,看着自己一点点“画”出来的网页,心中还是满感慨的,从这节课的开始到现在也确确实实学到了东西,也对软件工程这门课有了更深入的了解和感悟。
吕思毅.每运行一次程序需要很长时间,调试起来很麻烦
燃尽图组会照片你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站栏目:第十小组Alpha冲刺(3/3)-创新互联
URL分享:http://azwzsj.com/article/dsices.html