当前位置: 首页 > news >正文

网站建设与维护课程设计定制网站建设公司策划书

网站建设与维护课程设计,定制网站建设公司策划书,最新手机排行榜2021,绑米wordpress遗传算法与深度学习实战——使用进化策略实现EvoLisa 0. 前言1. 使用进化策略实现 EvoLisa2. 运行结果相关链接 0. 前言 我们已经学习了进化策略 (Evolutionary Strategies, ES) 的基本原理#xff0c;并且尝试使用 ES 解决了函数逼近问题。函数逼近是一个很好的基准问题并且尝试使用 ES 解决了函数逼近问题。函数逼近是一个很好的基准问题但为了充分展示 ES 的作用本节中我们将重新思考 EvoLisa 问题采用 ES 作为解决策略以将 ES 和常规遗传算法进行对比。 1. 使用进化策略实现 EvoLisa 接下来使用进化策略 (Evolutionary Strategies, ES) 通过复现 EvoLisa 项目重建《蒙娜丽莎》图像。 import random import numpy as npfrom deap import algorithms from deap import base from deap import creator from deap import toolsimport os import cv2 import urllib.request import matplotlib.pyplot as plt from IPython.display import clear_outputdef load_target_image(image_url, colorTrue, sizeNone):image_path target_image urllib.request.urlretrieve(image_url,image_path)if color:target cv2.imread(image_path, cv2.IMREAD_COLOR)# Switch from bgr to rgbtarget cv2.cvtColor(target, cv2.COLOR_BGR2RGB)else:target cv2.imread(image_path, cv2.IMREAD_GRAYSCALE)if size:# Only resizes image if it is needed!target cv2.resize(srctarget, dsizesize, interpolationcv2.INTER_AREA)return targetdef show_image(img_arr): plt.figure(figsize(10,10))plt.axis(off)plt.imshow(img_arr/255)plt.show()def show_results(history, img_arr, org):plt.figure(figsize(10,10))plt.tight_layout()plt.subplot(221)plt.axis(off)plt.imshow(img_arr/255)plt.title(best of generation)plt.subplot(222)plt.axis(off)plt.imshow(org/255)plt.title(target image)plt.subplot(212)lh len(history)plt.xlim([lh-50, lh])plt.plot(history)plt.title(min fitness by generation) plt.show()polygons 255 #param {type:slider, min:10, max:1000, step:1} size 32 #param {type:slider, min:16, max:1000, step:2} target_image Mona Lisa #param [Mona Lisa, Stop Sign, Landscape, Celebrity, Art, Abstract] report_every_gen 10 #param {type:slider, min:1, max:100, step:1} number_generations 10000 #param {type:slider, min:100, max:10000, step:10}POLYGONS polygons SIZE (size, size)target_urls { Mona Lisa : https://upload.wikimedia.org/wikipedia/commons/b/b7/Mona_Lisa_face_800x800px.jpg,Stop Sign : https://images.uline.com/is/image//content/dam/images/H/H2500/H-2381.jpg,Landscape : https://www.adorama.com/alc/wp-content/uploads/2018/11/landscape-photography-tips-yosemite-valley-feature.jpg,Celebrity : https://s.abcnews.com/images/Entertainment/WireAP_91d6741d1954459f9993bd7a2f62b6bb_16x9_992.jpg,Art : http://www.indianruminations.com/wp-content/uploads/what-is-modern-art-definition-2.jpg,Abstract : https://scx2.b-cdn.net/gfx/news/2020/abstractart.jpg}target_image_url target_urls[target_image] target load_target_image(target_image_url, sizeSIZE) show_image(target) print(target.shape)#polygon genes GENE_LENGTH 10 NUM_GENES POLYGONS * GENE_LENGTH#create a sample invidiual individual np.random.uniform(0,1,NUM_GENES) print(individual) # [0.62249533 0.44090963 0.14777921 ... 0.57283261 0.9325435 0.25907929]def extract_genes(genes, length): for i in range(0, len(genes), length): yield genes[i:i length]def render_individual(individual):if isinstance(individual,list):individual np.array(individual)canvas np.zeros(SIZE(3,))radius_avg (SIZE[0] SIZE[1]) / 2 / 6genes extract_genes(individual, GENE_LENGTH)for gene in genes:try:overlay canvas.copy()# alternative drawing methods circle or rectangle# circle brush uses a GENE_LENGTH of 7# center (0, 1) [2]# radius (2) [3]# color (3,4,5) [6]# alpha (6) [7]#cv2.circle(# overlay,# center(int(gene[1] * SIZE[1]), int(gene[0] * SIZE[0])),# radiusint(gene[2] * radius_avg),# colorcolor,# thickness-1,#)# rectangle brush uses GENE_LENGTH 8# top left (0, 1) [2]# btm right (2, 3) [4]# color (4, 5, 6) [7]# alpha (7) [8]#cv2.rectangle(overlay, (x1, y1), (x2, y2), color, -1) # polyline brush uses GENE_LENGTH 10# pts (0, 1), (2, 3), (4, 5) [6] # color (6, 7, 8) [9]# alpha (9) [10]x1 int(gene[0] * SIZE[0])x2 int(gene[2] * SIZE[0])x3 int(gene[4] * SIZE[0])y1 int(gene[1] * SIZE[1])y2 int(gene[3] * SIZE[1])y3 int(gene[5] * SIZE[1])color (gene[6:-1] * 255).astype(int).tolist() pts np.array([[x1,y1],[x2,y2],[x3,y3]], np.int32) pts pts.reshape((-1, 1, 2))pts np.array([[x1,y1],[x2,y2],[x3,y3]])cv2.fillPoly(overlay, [pts], color)alpha gene[-1]canvas cv2.addWeighted(overlay, alpha, canvas, 1 - alpha, 0) except:passreturn canvasrender render_individual(individual) show_image(render)from skimage.metrics import structural_similarity as ss #title Fitness Function def fitness_mse(render):Calculates Mean Square Error Fitness for a rendererror (np.square(render - target)).mean(axisNone)return errordef fitness_ss(render):Calculated Structural Similiarity Fitnessindex ss(render, target, multichannelTrue)return 1-indexprint(fitness_mse(render))IND_SIZE NUM_GENES MIN_VALUE -1 MAX_VALUE 1 MIN_STRATEGY 0.5 MAX_STRATEGY 5CXPB .6 MUTPB .3creator.create(FitnessMin, base.Fitness, weights(-1.0,)) creator.create(Individual, list, typecoded, fitnesscreator.FitnessMin, strategyNone) creator.create(Strategy, list, typecoded)def generateES(icls, scls, size, imin, imax, smin, smax): ind icls(random.uniform(imin, imax) for _ in range(size)) ind.strategy scls(random.uniform(smin, smax) for _ in range(size)) return inddef checkStrategy(minstrategy):def decorator(func):def wrappper(*args, **kargs):children func(*args, **kargs)for child in children:for i, s in enumerate(child.strategy):if s minstrategy:child.strategy[i] minstrategyreturn childrenreturn wrappper return decoratordef uniform(low, up, sizeNone):try:return [random.uniform(a, b) for a, b in zip(low, up)]except TypeError:return [random.uniform(a, b) for a, b in zip([low] * size, [up] * size)]def clamp(low, up, n):return max(low, min(n, up))def custom_blend(ind1, ind2, alpha): for i, (x1, s1, x2, s2) in enumerate(zip(ind1, ind1.strategy,ind2, ind2.strategy)):# Blend the valuesgamma (1. 2. * alpha) * random.random() - alphaind1[i] clamp(0.0, 1.0, (1. - gamma) * x1 gamma * x2)ind2[i] clamp(0.0, 1.0, gamma * x1 (1. - gamma) * x2)# Blend the strategiesgamma (1. 2. * alpha) * random.random() - alphaind1.strategy[i] (1. - gamma) * s1 gamma * s2ind2.strategy[i] gamma * s1 (1. - gamma) * s2return ind1, ind2toolbox base.Toolbox() toolbox.register(individual, generateES, creator.Individual, creator.Strategy,IND_SIZE, MIN_VALUE, MAX_VALUE, MIN_STRATEGY, MAX_STRATEGY) toolbox.register(population, tools.initRepeat, list, toolbox.individual) toolbox.register(mate, custom_blend, alpha0.5) toolbox.register(mutate, tools.mutESLogNormal, c1.0, indpb0.06) toolbox.register(select, tools.selTournament, tournsize5)toolbox.decorate(mate, checkStrategy(MIN_STRATEGY)) toolbox.decorate(mutate, checkStrategy(MIN_STRATEGY))def evaluate(individual):render render_individual(individual)print(., end) return fitness_mse(render), #using MSE for fitness#toolbox.register(mutate, tools.mutGaussian, mu0.0, sigma.1, indpb.25) toolbox.register(evaluate, evaluate)NGEN number_generations RGEN report_every_gen CXPB .6 MUTPB .3 MU, LAMBDA 100, 250 pop toolbox.population(nMU) hof tools.HallOfFame(1) stats tools.Statistics(lambda ind: ind.fitness.values) stats.register(avg, np.mean) stats.register(std, np.std) stats.register(min, np.min) stats.register(max, np.max) best None history []for g in range(NGEN):pop, logbook algorithms.eaMuCommaLambda(pop, toolbox, muMU, lambda_LAMBDA, cxpbCXPB, mutpbMUTPB, ngenRGEN, statsstats, halloffamehof, verboseFalse)best hof[0]#pop, logbook algorithms.eaSimple(pop, toolbox, # cxpbCXPB, mutpbMUTPB, ngen100, statsstats, halloffamehof, verboseFalse)#best hof[0] clear_output() render render_individual(best) history.extend([clamp(0.0, 5000.0, l[min]) for l in logbook])show_results(history, render, target) print(fGen ({(g1)*RGEN}) : best fitness {fitness_mse(render)})2. 运行结果 下图显示了代码的运行结果作为对比图中还显示了使用经典遗传算法生成的结果。 相关链接 遗传算法与深度学习实战1——进化深度学习 遗传算法与深度学习实战4——遗传算法Genetic Algorithm详解与实现 遗传算法与深度学习实战5——遗传算法中常用遗传算子 遗传算法与深度学习实战6——遗传算法框架DEAP 遗传算法与深度学习实战7——DEAP框架初体验 遗传算法与深度学习实战10——使用遗传算法重建图像 遗传算法与深度学习实战14——进化策略详解与实现
http://www.yayakq.cn/news/4854/

相关文章:

  • 如何做好网站推广优化phpcms怎么做网站
  • 免费网站建站模板潍坊网站定制模板建站
  • 做外贸需要有自己的网站吗wordpress外贸服装营销型主题
  • 百度网页版浏览器入口官网山东seo推广公司
  • 做网站一般几个人完成wordpress多功能代码
  • 空间站 参考消息WordPress上展示PDF
  • 网站模板切换wordpress无法编辑
  • 网站开发到发布手机医疗网站
  • 网站建设合同报价单 模板下载wap网页编写
  • 西安seo网站设计公司广东省做农业网站公司
  • icp网站备案流程做网站的公司叫什么
  • 顺德区网站设计建设企业网站建设dqcx
  • 出口电商网站建设程序网站建设与管理需要什么软件有哪些
  • 网站建设运维合同一个人能开发app吗
  • 高端网站配色网站申请流程
  • 网站前端开发惠州seo关键词排名
  • 宁波网站设计价格北京seo薪资
  • 上海松一网站建设成都创新互联科技有限公司
  • 北京私人做网站台州网站排名外包
  • 北京网站建设公司华网天下官网双语网站后台怎么做
  • 一点空间网站建设磁力棒
  • 政务网站集约化建设推进情况谷歌app下载 安卓
  • 计算机网站开发项目网站空间大小选择
  • 织梦网站怎么把index.html去掉手机商城小程序
  • 上住房和城乡建设部网站聊城网站制作
  • js网站模板下载十个最好的网站
  • 青海省公路建设服务网站wordpress如何把注册链接
  • 特步的网站建设策划wordpress admin 403
  • 湖南省城乡和住房建设厅网站ios开发工程师
  • 中国十大电商平台网站排名优化软件电话