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

烟台建网站公司哪家好南通网站推广公司哪家好

烟台建网站公司哪家好,南通网站推广公司哪家好,读书网站建设策划书摘要,网站建设属于广告费么遗传算法与深度学习实战——使用进化策略实现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.tj-hxxt.cn/news/227955.html

相关文章:

  • 影视自助建站哪里建设网站最好用
  • 巫山做网站那家好云技术在网站建设中的应用
  • 互联网网站建设水平seo网站推广费用
  • 如何做网站平台关注软件技术培训机构
  • 深圳网站建设的基本知识如何用VS2017做网站
  • dede中英文企业网站广东企业微信网站建设
  • asp网站服务建设论文游戏开发公司定制游戏
  • 外贸用免费网站推广 有效果wordpress目录绑定外部链接
  • 做网站手机网站开发与编程
  • 网站制网站制作公司广东seo网站设计多少钱
  • 0基础 网站建设用ps做网站导航
  • 应价交易系统网站开发深圳市住房和建设局网官网
  • 百度推广手机网站检测申请wordpress
  • 网站的首页文案做网站的是什么专业
  • 大型电子商务网站开发室内设计效果图接单
  • 潍坊市建设工程管理处网站乡镇信息公开网站建设制度
  • ip库网站源码个人公众号做电影网站
  • dede网站入侵安装wordpress没有选择语言
  • 一个公司可以做几个网站吗网络推广策划书范文
  • 功能网站模板网上营销怎么做
  • 重庆网站开发商城网络托管
  • 竞价单页网站制作百度公司总部地址
  • 山西省建设局网站软件开发视频
  • 网站开发asp.net开发定制软件开发
  • 做网站可以用中文域名备案嘛googleseo專業
  • 福田网站建设龙岗网站建设网站集约化建设 统一出口
  • 大连制作网站软件家教补习中心网站建设
  • 网站数据库访问企业网站被转做非法用途
  • 网站小视频怎么做wordpress 手机样式
  • 太原网站建设找山西云起时自助seo网站建设