精华内容
下载资源
问答
  • 点击上部图片了解详情楷书偏旁部首200法第一法十字在上横抗肩...第四法左头部横笔短,横笔短了撇笔长,先横后撇不写错,笔顺和篆写法同。第五法三框包围上横短,上横短了下横长,上横与竖不连接,竖笔垂露更健康。...

    510ae91ed01c1cc34bd650da708f8f25.png

    点击上部图片了解详情

    楷书偏旁部首200法

    第一法

    十字在上横抗肩,竖笔上粗细下端,

    竖笔书写带撇意,位置写在中心线。

    第二法

    厂字作头横抗肩,横撇不连更美观,

    撇如柳叶中间宽,撇笔长写字舒展。

    第三法

    布字头部横笔长,先撇后横是传统,

    笔顺来自篆书意,楷书行书都响应。

    第四法

    左字头部横笔短,横笔短了撇笔长,

    先横后撇不写错,笔顺和篆写法同。

    第五法

    三框包围上横短,上横短了下横长,

    上横与竖不连接,竖笔垂露更健康。

    50246fb424fd8759fab093c32f72b4b5.png

    小编工作室:书法课堂

    第六法

    卜字在上点作横,竖笔垂直上端粗,

    在下在右点下斜,竖笔必须用垂露。

    第七法

    立刀短竖为垂露,位置写在中上部,

    竖钩垂直向右弯,衄挫挑钩如发弩。

    第八法

    冈字框部左垂露,左右两竖必垂直,

    左短右长分阴阳,两竖向背有弹性。

    第九法

    八字在上要写大,撇低捺高是妙法,

    八字在下捺变点,撇高起笔点稍下。

    第十法

    人字之头撇捺展,撇捺下端不水平,

    撇低捺高分阴阳,下部结构往里送。

    0ae423afe6fb8aac1349e3155249f196.png

    小编工作室:书法课堂

    第十一法

    单立人旁独站立,撇如牛角竖垂露,

    竖笔上细下端粗,竖画尖接撇之肚。

    第十二法

    勿字折钩向左曲,如同凳子侧腿立,

    凳子侧立凳不倒,衄钩斜度重心笔。

    第十三法

    儿部变化多在撇,在左在中为竖撇,

    儿在下部为斜撇,写好浮鹅钩笔画。

    第十四法

    几在下部横抗肩,撇为竖撇钩伸展,

    几在外沿如古钟,左右对称是关键。

    第十五法

    京字之点可竖点,点笔落在中心线,

    侧点与横相脱离,下部窄了横笔展。

    第十六法

    两点之水要呼应,中心靠拢不离散,

    首点起笔稍靠右,提锋遥指点右边。

    第十七法

    秃宝盖点如露珠,横细抗肩钩饱满,

    钩锋遥指下笔首,宝盖窄了下部展。

    第十八法

    硬耳旁钩不可大,横笔宜低不宜高,

    竖笔接横用垂露,和左写平如上吊。

    第十九法

    左耳旁部耳廓小,耳廓上宽下边收,

    竖笔必须用垂露,向左稍弯为避右。

    第二十法

    右耳旁部耳廓大,耳廓写3不美观,

    横笔宜低不宜高,竖笔垂直向下展。

    bb806fab0cba9e9f5bf57a1dfc108eb3.png

    一年级学员:

    第二十一法

    凶字底框分阴阳,左竖稍短右竖长,

    横笔抗肩呈凸状,两竖下端平线上。

    第二十二法

    刀部在下不要宽,钩锋遥指横左端,

    挑钩宜短且饱满,折笔角度是关键。

    第二十三法

    又部在上反捺多,在左捺笔变成点,

    在下伸展用正捺,撇捺交在中心线。

    第二十四法

    建字底部较难写,双折切记不写宽,

    捺笔左细右端粗,一波三折向右展。

    第二十五法

    干字旁部竖垂直,悬针垂露都可用,

    上横较短下横长,两横务必要平行。

    第二十六法

    工字旁部横相背,竖笔左斜带撇意,

    上下两横近距离,工字在左横变提。

    第二十七法

    土字头部竖正中,竖笔上粗下端细,

    上横较短下横长,土字在左横变提。

    第二十八法

    草字头部不可宽,左低右高见阴阳,

    古写先竖再写挑,然后写横撇跟上。

    第二十九法

    算字下部横笔长,横担上写求稳当,

    撇为竖撇竖垂露,竖撇较短右竖长。

    第三十法

    大字在中用竖撇,大字作头撇捺展,

    下有长横撇笔收,大字在下捺变点。

    第三十一法

    力字折笔有棱角,挑钩不长有后跟,

    力在右旁多下移,力在下部要收紧。

    第三十二法

    尤字部首横宜短,在左撇细右钩扬,

    在右横笔右截长,挑钩里圆外沿方。

    第三十三法

    提手旁部横抗肩,横笔左长右截短,

    竖笔垂直腰部细,提锋过横不可远。

    第三十四法

    寸字部首横抗肩,竖钩垂直中间细,

    挑钩宜锐有后跟,点笔宜高不宜低。

    第三十五法

    武字右钩写法难,横笔必须大抗肩,

    斜钩遒劲用腕力,点笔高昂要饱满。

    c73c280b328a585d5a12d9d439876030.png

    第三十六法

    口字旁部有定法,上端开肩下端收,

    底横微长托右竖,写出口字三出头。

    第三十七法

    全包围部不写大,围而不堵是妙法,

    右竖稍长不呆板,两竖相背字高雅。

    第三十八法

    巾字上边不开肩,横笔较细稍抗肩,

    三竖垂直且等距,中竖较长左右短。

    第三十九法

    山字在上不写宽,横笔抗肩向下弯,

    山在左部横斜写,在下右竖变成点。

    第四十法

    双人偏旁立左部,下撇头顶上撇肚,

    上下两撇不平行,竖笔上细下垂露。

    79a21ae68ab023505d833b2e41a81f30.png

    第四十一法

    三撇联写有妙法,下撇头照上撇胸,

    最后一撇应写长,三撇间距要相等。

    第四十二法

    犯字左旁不好写,两撇长短不平行,

    弯钩上弯下截弧,挑钩里圆外方整。

    第四十三法

    夏字下部有妙法,两撇伸缩不平行,

    首撇写长次撇短,捺笔与撇应对称。

    第四十四法

    丸字部首先写撇,撇笔温柔不可长,

    先撇再钩是传统,钩身饱满显阳刚。

    第四十五法

    广字头点在中间,横笔抗肩撇伸展,

    撇笔有肚忌鼠尾。横和长撇不要连。

    b7905fa476684ab84a237eb4f67d8377.png

    第四十六法

    竖心旁部竖垂露,两点写后再写竖,

    次点照应首点头,竖笔中细两端粗。

    第四十七法

    三点水旁呈弧状,首点也可写撇点,

    次点较轻往下带,提指首点右边沿。

    第四十八法

    宝盖头部点正中,横钩如同鸟视胸,

    左截横短右稍长,上下收缩要分明。

    第四十九法

    走之旁部点右安,次笔写小别写3,

    平捺一波三个折,蚕头雁尾是关键。

    第五十法

    尸字作头横抗肩,两横平行不写宽,

    长撇有肚不鼠尾,整字上收下部展。

    910c9fc0b8e902587375f46a9a2872e4.png

    第五十一法

    弓字在左不可宽,各横平行且抗肩,

    次横微长托右竖,折钩不长要饱满。

    第五十二法

    女字在左撇高昂,横笔斜写变为提,

    提笔位置在折上,撇首折脚上下齐。

    第五十三法

    女字在下首撇短,折笔用力象右展,

    横笔位置在折上,长横长写为横担。

    第五十四法

    党字上部竖在中,左点右撇要呼应,

    左点稍低右撇高,横钩如同鸟视胸。

    第五十五法

    学字下部横不长,竖钩写弧更适应,

    挑钩角度比较大,横笔下弯有弹性。

    85e382868edb594195ac77edb47f0029.png

    第五十六法

    巢字之头三折联,中间撇折应写小。

    三个撇折忌活弯,左折较低右较高。

    第五十七法

    王字旁部横抗肩,竖笔在中向左弯,

    底横变提不写长,王字在左不要宽。

    第五十八法

    琴字上部两个王,左王较低右王高,

    各横平行且等距,横笔抗肩是常招。

    第五十九法

    天字在上横抗肩,两横写短撇捺展,

    撇笔稍弯阴柔美,捺笔阳刚波脚宽。

    第六十法

    食字旁部撇较陡,横笔短写竖左弯,

    提锋遥指下笔首,整个偏旁不可宽。

    5c7050927b733087f77ebfaac404dcd5.png

    第六十一法

    木字在中竖垂直,横笔较短撇捺展,

    木字偏旁横抗肩,竖笔穿在竖右端。

    第六十二法

    木字在下横笔长,竖钩遒劲显神威,

    左右撇捺缩成点,两点上移不下坠。

    第六十三法

    木字在上横勿长,撇捺伸展显阳刚,

    右捺适宜用反捺,上展下收字健康。

    第六十四法

    木字在右撇笔短,竖笔穿在横左端,

    竖笔挺拔用垂露,捺笔飘扬向右展。

    第六十五法

    支字做旁横抗肩,竖笔上粗向左弯,

    撇笔稍细又弯曲,捺笔刚劲向右展。

    第六十六法

    不字横笔不可长,撇捺宜展不宜收,

    捺笔适宜用反捺,竖笔垂直不挑钩。

    第六十七法

    犬字在右横笔短,横笔右高大抗肩,

    点笔高扬显精神,捺笔飘扬向右展。

    第六十八法

    歹字作旁横抗肩,次撇写长首撇短,

    横撇之横轻轻带,点笔靠上用小点。

    第六十九法

    戈字在右横抗肩,斜钩起笔字中间,

    钩身长写用腕力,撇笔上写笔画短。

    第七十法

    比字作头左匕小,左匕竖画向左弯,

    左匕宜低不宜高,比字忌窄应写宽。

    442063a79c9f7fd42885c816d3ddbc94.png

    第七十一法

    牙字旁部横笔短,竖长撇短横抗肩,

    竖笔垂直不可弯,挑钩宜短应饱满。

    第七十二法

    瓦字旁部横不长,撇折缩小钩飞扬,

    右钩适合用腕力,点笔缩小往里藏。

    第七十三法

    日字在上不可宽,左低右高横抗肩,

    底横微长托左竖,整字上阴下部阳。

    第七十四法

    日字在左部首窄,位置上移字美观,

    内横写点三横提,整字左收右部展。

    第七十五法

    日字在下日稍宽,左竖较短右竖长,

    位置写在正中间,上展下收分阴阳。

    第七十六法

    中字在上竖左斜,扁口下窄上边宽,

    在右在下竖垂直,书法术语称开肩。

    第七十七法

    牛字在左横抗肩,撇横两笔可一笔,

    竖笔垂直可带钩,牛字次横变为提。

    第七十八法

    手字作旁撇平写,两横平行底横展,

    竖钩适合弧竖钩。钩度较大字美观。

    第七十九法

    毛字部首撇平写,横笔宜短大抗肩,

    竖弯钩笔向右展,钩身竖细横饱满。

    第八十法

    气字在上横宜短,三横平行大抗肩,

    钩身腕力显遒劲,挑钩衄挫钩饱满。

    第八十一法

    政字右旁为反文,首撇较陡横抗肩,

    次撇起笔横左段,捺接撇尾波脚展。

    第八十二法

    片字在左常异写,最后一笔可两笔,

    撇笔必须用竖撇,末笔垂露两竖齐。

    第八十三法

    斤字作旁首撇平,写成平撇不糊涂,

    撇右是竖必竖撇,最后竖笔必垂露。

    第八十四法

    采字字头撇写平,三点抱紧有呼应,

    左底右高见阴阳,不连上下字通风。

    第八十五法

    父字作头右点高,上部两点要紧抱,

    撇笔较细捺饱满,撇捺伸展字体好。

    第八十六法

    月字在左不能宽,撇竖相背钩要短,

    撇身必须用竖撇,三横等距又抗肩。

    第八十七法

    月字在右月稍宽,三横平行且抗肩,

    竖钩中细两端粗,内横不能写成点。

    第八十八法

    欠字在右横笔短,次撇入笔上撇下,

    次撇多用尖头撇,正捺也可用反捺。

    第八十九法

    设字右旁上部收,两笔回锋不写宽,

    下部撇细捺饱满,撇笔阴柔捺笔展。

    第九十法

    文字作旁点高昂,横笔斜写叫抗肩,

    撇的起笔在点下,捺笔上细下饱满。

    第九十一法

    方字点笔在中间,横笔右高叫抗肩,

    先钩后撇笔顺对,钩落字的中心线。

    第九十二法

    火字在下先两点,长撇必须用竖撇,

    撇的上端竖着写,写到中部再出撇。

    第九十三法

    火作偏旁不宜宽,撇身竖写是关键,

    先写两点后竖撇,捺笔缩小写成点。

    第九十四法

    火字在下为四点,四点上端一条线,

    前三较小右点大,四点写地比上宽。

    第九十五法

    斗字在右横抗肩,两点也可写撇点,

    竖笔高昂且垂直,悬针垂露皆不偏。

    第九十六法

    户字作头横抗肩,点笔也可写作横,

    三横平行且等距,下部多寡横决定。

    第九十七法

    礼字左部点靠右,竖笔垂露横抗肩,

    撇横左端上下齐,右点写在撇竖间。

    第九十八法

    心字作底钩难写,如同初月挂长天,

    中间小点为仰点,末点高昂向下看。

    第九十九法

    母字旁部身不宽,撇折之折长饱满,

    两横一折要等距,中间长横要伸展。

    第一百法

    水字永字一样法,竖笔较细钩饱满,

    横撇离横求平衡,右撇左横一道线。

    第一百零一法

    春字上部横抗肩,中间小横宜写短,

    三横平行且等距,撇捺拉长要伸展。

    第一百零二法

    玉字在底横抗间,首横饱满向上弯,

    三横必须等距离,末点可写横外边。

    第一百零三法

    示字在下横写短,竖笔垂直钩饱满,

    两点上移不下坠,左右对称是关键。

    第一百零四法

    去字单写首横短,次横长写为横担,

    竖笔上粗下左弯。去在左时横抗肩。

    第一百零五法

    甘字写法不要宽,两竖右长左竖短,

    首横长写求平稳,三横等距又抗肩。

    b84216e5a55d120275b3f56cf42e9bb5.png

    第一百零六法

    石字在左横抗肩,撇笔伸长向左展,

    首竖穿撇求结实,右边上下一道线。

    第一百零七法

    石字在下横不长,力求平和字稳当,

    口字底横拖右竖,撇笔伸展字健康。

    第一百零八法

    戊字在上先写撇,横笔右高大抗肩,

    斜钩纵腕上下长,末撇写短向上安。

    第一百零九法

    业字在上右竖长,左细右粗见阴阳,

    两点左低右高昂,底横写长字稳当。

    第一百一十法

    党字上部竖在中,右点稍高左点轻,

    横笔两段右稍长,钩锋遥指鸟之胸。

    第一百一十一法

    目字在左身勿宽,各横等距并抗肩,

    左竖稍短右竖长,底横变提不呆板。

    第一百一十二法

    田字书写上开肩,左竖宜短右宜长,

    中间小横不封死,三横平行见阴阳。

    第一百一十三法

    田字在上上横长,三横平行且抗肩,

    底横出头托左竖,中间小横要写短。

    第一百一十四法

    田字在下折有棱,左竖宜短右竖长,

    横笔抗肩要写细,中竖写在字中央。

    第一百一十五法

    田字在左身勿宽,左竖稍细向右弯,

    右竖稍长用垂露,三横平行并抗肩。

    第一百一十六法

    失字在左首撇轻,两横需要强抗肩,

    次撇必须用竖撇,捺笔写长宜饱满。

    第一百一十七法

    禾字在左首撇平,横笔抗肩左段长,

    竖笔必须用垂露,右点写小内里藏。

    第一百一十八法

    白字在上不写宽,撇笔写短不过竖,

    横折之横撇肚起,底横稍长托左竖。

    第一百一十九法

    白字在左不写宽,撇笔忌长应写短,

    底横稍长写作提,中间小横可作点。

    第一百二十法

    病字之头点在中,横撇最好不连接,

    横笔抗间撇顿收,两点呼应不接撇。

    cfbff308342b5f6c3682e04d15b3130c.png

    第一百二十一法

    立字作头横抗肩,点在字的正当中,

    上横较短次横长,向下稍弯求弹性。

    第一百二十二法

    立字在左点高昂,首横抗肩底横提,

    中间点撇要呼应,右边上下应照齐。

    第一百二十三法

    玄字单写点高昂,上边长横向下弯,

    玄字在右横稍短,折与右点宜不连。

    第一百二十四法

    穴字作头点作竖,横笔较细右截长,

    左点顿收横抗肩,和体上下见阴阳。

    第一百二十五法

    衣字作旁点靠右,横撇撇短横笔长,

    竖笔垂露向左斜,两点写小往里藏。

    第一百二十五法

    民字在右横抗肩,竖笔稍细向左弯,

    三横等距且平行,斜钩上细下饱满。

    第一百二十六法

    定字下部横钩短,撇笔写出牛角样,

    中竖在中要垂直,捺笔舒展应写长。

    第一百二十七法

    登字之头右部高,撇捺伸展字飘扬,

    捺尾不可低于撇,下部结构往里藏。

    第一百二十八法

    矛字作旁身不宽,横钩稍长撇笔短,

    竖钩适宜用狐钩,双横平行必抗肩。

    第一百二十九法

    耕字左旁横抗肩,三横等距末横长,

    竖笔垂直用垂露,右点写小里边藏。

    第一百三十法

    耳字在左作偏旁,横笔抗肩底横提,

    上横左竖宜不接,三横一提等距离。

    第一百三十一法

    臣字在左横抗肩,竖笔出头显康健,

    四横左端尖接竖,右边上下一条线。

    第一百三十二法

    西字在上口不大,三横抗肩等距离,

    中间竖弯写作竖,四竖之间应等距。

    第一百三十三法

    而字单写身宜扁,横笔抗肩竖等距,

    作为部首都写小,收紧阴柔字美丽。

    第一百三十四法

    至字在左横抗肩,竖笔写细向左弯,

    横提之间等距离,至字在下底横展。

    第一百三十五法

    虎字上部横抗肩,两竖对齐在中间,

    钩锋遥指下笔首,横钩宜细撇宜展。

    第一百三十六法

    光字单写右钩长,光字在左垂竖笔,

    右撇稍高横抗肩,末笔竖斜钩变提。

    第一百三十七法

    虫字作旁横抗肩,中竖撇意向左弯,

    竖提两笔可一笔,点笔写小往里安。

    第一百三十八法

    竹字单写右部展,右部宜大左部小,

    竹字作头竖变点,左部宜低右部高。

    第一百三十九法

    自字单写撇勿长,右竖宜长左竖短,

    左竖上横不连接,四横等距且抗肩。

    第一百四十法

    阜字上部撇宜短,四横平行并抗肩,

    竖笔上粗下垂露,四横等距尖接竖。

    第一百四十一法

    血字单写撇不长,横上四竖要收紧,

    第三小竖带撇意,底横写长字体稳。

    第一百四十二法

    血字作旁横抗肩,四字上宽叫开肩,

    上横不宜接左竖,底横左长右截短。

    第一百四十三法

    舟字作旁身不宽,左撇有狐是关键,

    撇竖两笔要相背,横笔左长右截短。

    第一百四十四法

    色字部首横抗肩,首撇无锋宜顿收,

    双撇走向不相同,钩如白鹅水中游。

    第一百四十五法

    衣字在下点高昂,横笔斜勒大抗肩,

    竖笔细写提遒劲,右撇上写捺伸展。

    第一百四十六法

    善字上部横不长,两点写成羊角样,

    三横平行且等距,竖笔落在字中央。

    第一百四十七法

    卷字作首横抗肩,左点宜低右撇昂,

    两横平行应写短,撇捺不连宜开张。

    第一百四十八法

    律字右部次横长,五横平行且等距,

    竖笔在中必垂直,悬针垂露皆可以。

    第一百四十九法

    米字偏旁右点昂,横笔右短左截长,

    竖笔必须用垂露。末点写小内里藏。

    第一百五十法

    艮字在左捺变点,中横尖接宜写短,

    艮字在右捺反写,艮字在下捺伸展。

    ab4bb05ed3c4136b863f3d2a13bfc668.png

    第一百五十一法

    羽字在上点作横,左习宜低右习高,

    羽字在右竖钩垂,右钩宜大左钩小。

    第一百五十二法

    给字左旁为交丝,首撇宜短次撇长,

    繁写三点要灵动,提右小点内里藏。

    第一百五十三法

    繁字下部中竖垂,上撇宜短下撇长,

    左右两点要对称,右点宜大左点小。

    第一百五十四法

    辰字单写横抗肩,三横宜短撇捺展,

    辰字在上捺反写,辰字在下捺写长。

    第一百五十五法

    走字在左竖笔直,上横宜短下横长,

    走字下部用撇点,捺笔三折字飘扬。

    第一百五十六法

    赤字单写中横长,上竖垂直撇回峰,

    赤字在左横抗肩,左段宜长右段短。

    第一百五十七法

    车字单写横抗肩,底横写长为横担,

    繁写五横等距离,竖笔垂之骨力坚。

    第一百五十八法

    豆字单写首横短,底横写长向下弯,

    在左底横写作提,各横平行又抗肩。

    第一百五十九法

    酉字单写首横长,酉字在左不可宽,

    各横平行又垂直,右竖写长左竖短。

    第一百六十法

    肆字左部横抗肩,竖笔垂直末横展,

    上部三横尖接竖,末点写小往上安。

    第一百六十一法

    贝字在左横抗肩,左竖稍细向左弯,

    右竖稍粗必垂直,末点不和左撇连。

    第一百六十二法

    繁写贝字在下端,横笔稍长体稍宽,

    底横稍长托左竖,四横等距又抗肩。

    第一百六十三法

    见字在右横抗肩,竖笔宜短钩宜展,

    上部小横不封死,小横封死字呆板。

    第一百六十四法

    里字在左横抗肩,竖笔稍细向左弯,

    在中在右竖垂直,底横写长向下弯。

    第一百六十五法

    路字左旁横抗肩,口字底横托左竖,

    下部右竖要垂直,左竖弯曲横变提。

    第一百六十六法

    身字在左身勿宽,首撇不长横抗肩,

    底横稍长下撇短,竖笔垂直钩饱满。

    第一百六十七法

    谷字单写右点高,撇细捺粗向外展。

    谷字在左上撇低,下撇宜长捺缩点。

    第一百六十八法

    采字单写横抗肩,首撇写平是关键,

    左撇右捺要伸展,采字在左捺写点。

    第一百六十九法

    豺字在左上部宽,首撇宜平次撇斜,

    弯钩上弯下为弧,双撇上写不下坠。

    第一百七十法

    角字在左体不宽,上部双撇不平行,

    下部左撇写作竖,三竖垂直横平行。

    第一百七十一法

    言字单写点高昂,首横忌短适宜展,

    四横平行且等距,言在下部身稍宽。

    第一百七十二法

    言旁简写竖垂直,首点靠右不分离,

    繁写各横要抗肩,右边上下要写齐。

    第一百七十三法

    辛字单写横抗肩,底横写长为横担,

    点竖上下要正对,在右字体不可宽。

    第一百七十四法

    青字单写竖笔直,第三横画要写长,

    在左字身不要宽,各横等距且平行。

    第一百七十五法

    朝字左部横抗肩,上竖左斜带撇意,

    下竖必须用垂露,上下两竖要对齐。

    f41080c73d989d528d9f8769a1348b14.png

    第一百七十六法

    雨字作头要写宽,钩锋遥指第一点,

    次横左短右截长,中竖垂直点轻点。

    第一百七十七法

    虎字单写横抗肩,七字无钩字含蓄,

    虎字在左右钩长,如同老翁抱孩子。

    第一百七十八法

    非字单写适宜扁,右竖宜长左竖短,

    两竖垂直都垂露,右横宜长左横短。

    第一百七十九法

    雄字右部竖写长,点笔带折字美丽,

    首横移至竖上端,各横平行向上移。

    第一百八十法

    金字单写撇捺展,金字在左捺作点,

    竖笔垂直横抗肩,右边上下一条线。

    第一百八十一法

    金字在下撇捺展,中竖垂直横抗肩,

    下部三横向上移,底横稍平求稳健。

    第一百八十二法

    食字在左首撇长,繁写右捺可变点,

    各横平行且等距,最后一点内里按。

    第一百八十三法

    门字作框竖笔垂,繁写笔顺不可丢,

    先写左竖再横折,右部先竖再折钩。

    第一百八十四法

    革字在左横等距,各横平行并抗肩,

    竖笔垂直用垂露,俗写下横上两点。

    第一百八十五法

    页字在右竖笔垂,繁写各横要抗肩,

    中间小横不封死,底横托住左竖端。

    第一百八十六法

    是字单写日不宽,中横宜短撇捺展,

    是字在左捺写长,上细下粗脚饱满。

    第一百八十七法

    骨字单写中横展,骨字在左不写宽,

    上部横折可写人,下部竖垂是关键。

    第一百八十八法

    香字单写撇捺展,捺可反写成长点,

    横笔抗肩竖垂直,香字在左捺变点。

    第一百八十九法

    鬼字单写横抗肩,竖横咬撇是关键,

    底横稍长托左竖,左撇宜细右钩展。

    第一百九十法

    鬼字在左钩更长,钩上部分要贴近,

    如同老翁抱孙子,爷孙和谐情谊纯。

    7daa8a530ae3b5c1d5fe51450c03e0e3.png

    第一百九十一法

    风字单写横抗肩,左右对称是关键,

    繁写各横不等距,风在左旁钩更展。

    第一百九十二法

    音字单写次横长,在左字体不可宽,

    首点偏右不在中,右边上下一条线。

    第一百九十三法

    首字单写首横长,竖笔垂直横抗肩,

    左横宜细右竖长,横下之撇宜写短。

    第一百九十四法

    马字单写横抗肩,次横右段长一半,

    马在左旁不可宽,繁写四点可三点。

    第一百九十五法

    高字单写横抗肩,繁写两横接两竖,

    各横平行且等距,左竖宜细右竖粗。

    第一百九十六法

    黄字单写次横长,繁写先竖再写提,

    三笔右横后写撇,笔顺写错不规矩。

    第一百九十七法

    麦字作旁横抗肩,竖笔垂直首撇长,

    次撇短弯见温柔,捺笔写长宜展放。

    第一百九十八法

    鸟字单写中横长,右段长度占一半,

    繁写先撇再写竖,横下连接后两点。

    第一百九十九法

    鱼字单写田不大,上部两撇不平行,

    繁写四点见阴阳,三小一大上头平。

    第二百法

    龙字单写横笔短,繁写左收右部展,

    各横平行且等距,左横右钩对称展。

    7ad8ca12eb828fe3983b48cc254cf420.png

    • 5974ab149be9a27029c995fca3ed1293.png

    • 3516aed4b905bc7817483dfb208e734a.png

    • 点击上部图片了解大书法教育资质认证详情

    • 精彩阅读

    • 【国培项目】弘扬中华文化,践行大书法——第八届全国写字教师培训交流会在津举行

    • 【国培项目】中国硬笔书法协会第七届书法教育资质培训认证交流会在津举行

    • “国培项目”二届中国书画等级测评考官资格证书(天津)认证会及第六届书法教育资质培训认证(天津)交流会在天津举行

    • 【国培项目】中国硬笔书法协会教育资质第五届(天津)培训认证交流会圆满结束

    • “国培项目”首届中国书画等级测评考官资格证书(天津)认证会及第四届书法教育资质培训认证(天津)交流会在天津举行

    •   中国硬笔书法协会培训师(天津)认证会圆满结束

    •   中国硬笔书法协会书法教育资质(三证)考试认证会圆满结束

    • 【国培项目】中国硬笔书法协会教育资质(第三届)培训认证会圆满结束

    • 【国培项目】中国书画等级测评2019年上半年圆满结束

    • 2019年上半年教育部书画等级考试圆满结束

    • 2018年上半年【中国书画等级考试】在中国硬笔书法协会天津教育管理考级培训中心圆满结束

    • 2018下半年【国培项目】中国书画等级测评书法、硬笔书法科目测评圆满结束

    • 2018下半年【国培项目】中国书画等级测评美术绘画科目测评圆满结束

    • 2018下半年教育部中国书画等级考试圆满结束

    • 【国培项目】2017年中国书画等级考试在天津零界艺术圆满结束

    •   教育部《中国书画等级考试》软、硬笔书法考级圆满结束

    •   教育部《中国书画等级考试》美术考级圆满结束

    展开全文
  • swift button 使用snp布局包含图片和文字,如果文字少会出现都居中的怪样式 使用这个方法就可以吧设置好的图片和文字的...写法和label有一些区别,这里记录一下 button.contentHorizontalAlignment = .left ...

    swift button 使用snp布局包含图片和文字,如果文字少会出现都居中的怪样式

    使用这个方法就可以吧设置好的图片和文字的contentinside 都弄到左边来,从左边开始布局

    写法和label有一些区别,这里记录一下

                button.contentHorizontalAlignment = .left

    展开全文
  • public function test(){ $exts = 'xlsx'; //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入 ...//导入Excel类 我这里是ThinkPHP框架写法 根据自己的框架修改 $fileNam...
    public function test(){
            $exts = 'xlsx';
            //导入PHPExcel类库,因为PHPExcel没有用命名空间,只能inport导入
            import("Org.Util.PHPExcel");//导入Excel类  我这里是ThinkPHP框架写法  根据自己的框架修改
    
            $fileName = "tel.xls";//excel文件路径
    
            $objReader = \PHPExcel_IOFactory::createReader('Excel5');
            $objPHPExcel = $objReader->load($fileName,$encode='utf-8');
            $drawing = new \PHPExcel_Writer_Excel2007_Drawing();
    
            $drawingHashTable = new \PHPExcel_HashTable();
            $drawingHashTable->addFromSource($drawing->allDrawings($objPHPExcel));
            for ($i = 0; $i < $drawingHashTable->count(); ++$i)
            {
                $memoryDrawing = $drawingHashTable->getByIndex($i);
                if ($memoryDrawing instanceof \PHPExcel_Worksheet_MemoryDrawing)
                {
                    $filename = './Public/' . $memoryDrawing->getCoordinates() . '_' . $memoryDrawing->getHashCode() . '.jpg';
                    // 将图片存到指定的目录
                    imagejpeg($memoryDrawing->getImageResource(), $filename);
                    // 获得该图片所在的单元格
                    $cell = $memoryDrawing->getWorksheet()->getCell($memoryDrawing->getCoordinates());
                    // 将该单元格的值设置为单元格的文本加上图片的 img 标签
                    $cell->setValue($cell->getValue() . $filename);
                }
            }
            $sheet = $objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            for($i=2;$i<=$highestRow;$i++)
            {
                $data[$i]['truename'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
                $data[$i]['account']= $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
                $data[$i]['image'][] = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
                $data[$i]['image'][] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
                $data[$i]['image'][] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();
            }
            print_r($data);die;
        }

     

    转载于:https://www.cnblogs.com/myphper/p/5587400.html

    展开全文
  • MNIST的四种写法

    千次阅读 2019-02-05 19:07:55
    MNIST是一组经过预处理的手写数字图片数据集,它为机器学习的初学者提供了一个练手的机会,可以在真实的数据上用学到的算法来解决问题。由于很多的机器学习教程都以MNIST作为入门项目,因此它也被称作是机器学习领域...

    MNIST是什么

    MNIST是一组经过预处理的手写数字图片数据集,它为机器学习的初学者提供了一个练手的机会,可以在真实的数据上用学到的算法来解决问题。由于很多的机器学习教程都以MNIST作为入门项目,因此它也被称作是机器学习领域的“hello world”。

    MNIST中每个样本都是一张长28、宽28的灰度图片,其中包含一个0-9的数字。我们需要做的,就是根据训练数据建立一个模型用来识别输入图片中的数字。这是典型的分类问题,每个样本的输入是784维向量:一张图片有28*28=784个像素点,每个点用一个浮点数表示其亮度;输出是10维向量,十个分量分别表示输入图中数字是0~9的可能性,其中可能性最大的,就是算法预测的结果。

    准备工作

    本文的代码采用Python和TensorFlow编写,所以需要一个Python开发环境,2.7或者3.0都可以。很多开源软件和库对Windows的支持都不是很好,建议使用Linux或者Mac OS X,可以避免很多不必要的麻烦。推荐使用pip安装TensorFlow:

    pip install tensorflow
    

    如果有一块支持CUDA的显卡,就可以安装TensorFlow的GPU版本。使用GPU计算会大大缩短模型的训练时间:

    pip install tensorflow-gpu
    

    安装问题可以参考TensorFlow的官方文档或者pip的主页,这里不再赘述。

    框架

    在开始具体的算法之前,我们先搭建一个通用的框架。框架要完成一些不同算法都需要做的工作,比如加载数据集、定义和训练模型,验证模型准确率等等。这样后面实现具体算法的时候就只需要关注跟算法相关的代码。下面是框架的代码,具体的解释已经放在注释里了,[...]的部分就是在各种算法中需要实现的部分。

    # encoding: utf-8
    
    import tensorflow as tf
    from tensorflow.examples.tutorials.mnist import input_data
    
    # 模型参数,需要声明为tensorflow变量(tf.Variable)
    [...]
    
    # 预测函数,根据输入和模型参数计算输出结果。这个函数定义了算法模型,
    # 不同算法的区别主要就在这里
    def inference(x):
        [...]
    
    # 损失函数(cost function),不同算法会使用不同的损失函数,但在这篇
    # 文章里都是调用tf提供的库函数,因而区别不大
    def loss(x, y):
        [...]
    
    # 训练数据,这里使用TensorFlow的占位符机制,其作用类似于函数的形参
    X = tf.placeholder(tf.float32, [None, 784])
    y_ = tf.placeholder(tf.float32, [None, 10])
    
    z = inference(X)
    total_loss = loss(X, y_)
    
    # 学习速率,取值过大可能导致算法不能收敛。不同算法可能需要使用的不同值
    learning_rate = 0.5
    
    # 使用梯度下降算法寻找损失函数的极小值
    train_op = tf.train.GradientDescentOptimizer(learning_rate).minimize(total_loss)
    
    # 验证预测的准确率
    correct_prediction = tf.equal(tf.argmax(z, 1), tf.argmax(y_, 1))
    evaluate = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
    
    # 读取数据集,这里tf已经封装好了
    mnist = input_data.read_data_sets("./data", one_hot=True)
    
    # 把loss作为scalar summary写到tf的日志,这样就可以通过tensorboard
    # 查看损失函数的变化情况,进行算法调试
    writer = tf.summary.FileWriter("./log", graph=tf.get_default_graph())
    loss_summary = tf.summary.scalar(b'Loss', total_loss)
    
    with tf.Session() as sess:
        # 初始化TensorFlow变量,也就是模型参数
        sess.run(tf.global_variables_initializer())
    
        # 训练模型
        training_steps = 10000
        batch_size = 100
        for step in range(training_steps):
            batch_xs, batch_ys = mnist.train.next_batch(batch_size)
            placeholder_dict = {X: batch_xs, y_: batch_ys}
            sess.run(train_op, feed_dict=placeholder_dict)
            summary = sess.run(loss_summary, feed_dict=placeholder_dict)
            writer.add_summary(summary, global_step=step)
    
        #在测试集上验证模型准确率
        print sess.run(evaluate,
                       feed_dict={X: mnist.test.images,
                                  y_: mnist.test.labels})
    

    机器学习的过程,就是用模型对训练数据进行拟合的过程。这里有两个核心,其一是“模型”。一个机器学习模型应该包括两个部分:从输入到输出的计算过程,也就是框架里的inference()函数;以及计算模型拟合程度的损失函数,也就是loss()函数。本文中的几种算法,还有其他更复杂的机器学习算法,都是一些经过验证具有实用价值的模型。机器学习算法的第二个关键是“拟合”,也就是在给定的模型和训练数据下,寻找损失函数的极小值。拿人类类比一下,“模型”决定了我们如何利用已有的经验做出决策,而“拟合”决定了我们如何根据决策的结果学习新的经验。不同机器学习算法的模型千差万别,但是拟合的过程都是类似的。在这篇文章里,我们用到的是最基础的批量梯度下降算法(Batch Gradient Descent),TensorFlow已经帮我们实现了该算法,因此我们要做的就是定义好模型,提供模型参数和inference()和loss()两个函数,然后使用GradientDescentOptimizer就可以完成拟合的过程。TensorFlow还提供了其他最优化算法,可以参考这里

    框架代码里用到了TensorFlow的summary,其作用是把变量的值记录在日志里,这样就可以通过日志跟踪某个变量在模型运算过程中的变化情况,比如这里用来跟踪损失函数。程序运行结束之后,可以用TensorBoard查看:

    tensorboard --logdir=./log/
    

    其中./log就是FileWriter()中指定的日志目录。执行命令之后按照提示在浏览器中打开http://127.0.0.1:6006, 在“SCALARS”标签页中就能看到loss变量的变化曲线。跟踪损失函数的值在调试机器学习代码时是很有用的。在模型和代码都正确的情况下,损失函数应该是逐渐减小的,否则就是代码有问题,可能是模型问题,代码实现不对,或者学习速率(learning_rate)过大导致损失函数无法收敛。

    算法1:Logistic回归

    Logistic回归是一种简单的二元分类算法,其核心是sigmoid函数,其函数定义如下:

    Sigmoid函数接受一个实数作为输入参数,输出为(0, 1)区间内的一个数值。这个输出值可以被当作某件事发生的概率。具体到分类问题,我们可以在输出值大于等于0.5时预测该样本为正例,否则预测为反例。0.5这个阈值并非固定的,可以根据实际情况进行调整,选择预测效果最佳的。对于MNIST问题,要使用Logistic回归进行识别,首先要把输入的784维特征向量转化为一个标量,这可以通过线性函数来实现:

    或者写成向量形式:

    接下来,只要把线性函数的输出作为sigmoid函数的输入,就可以得到一个概率值。由于sigmoid函数本身是没有可变参数的,因此模型的输出主要取决与第一步的线性函数的参数W和b。Logistic回归的模型有了,但是并没有解决数字识别的问题。Logistic回归是二元分类算法,只能回答“是”和“否”的问题,而MNIST问题有10种不同的可能。一种直接的思路是:训练10个不同的分类器,分别对应10个数字,这种方法叫做“one-vs-all”。图1就是用这种方法构建的手写数字识别器示意图。这个图后面还会提到。

    图1:用one-vs-all方法构建的Logistic分类器

    Logistic回归算法对应的代码如下:

    # 模型参数,一个分类器的W是784维向量,10个分类器就是784*10的矩阵
    W = tf.Variable(tf.zeros([784, 10]))
    b = tf.Variable(tf.zeros([10]))
    
    # 预测函数
    def inference(x):
        z = tf.matmul(X, W) + b
        # 返回预测结果,这里没有计算sigmoid的原因是:
        # 1. 损失函数需要用到z
        # 2. sigmoid函数是单调递增的,因此这里z越大,sigmoid的输出也越大。
        #    所以只根据z就可以确定预测结果,不必再计算sigmoid。
        return z
    
    # 损失函数,这里使用交叉熵(cross entropy)
    def loss(x, y):
        z = inference(x)
        return tf.reduce_mean(
            tf.nn.sigmoid_cross_entropy_with_logits(
                logits=z, labels=y))
    

    算法2:Softmax回归

    尽管Logistic回归可以通过“one-vs-all”方法解决多标签分类问题,但是这个结果还是有一点不符合常识:假定输入图片是一个数字的情况下,那么它必定是0-9这10个数字中的一个,算法输出的10个概率之和应该正好为1。上一节的方法并不能保证这一点,而本节使用Softmax回归算法可以。

    Softmax回归的核心是Softmax函数。该函数接受n个实数输入,并输出n个[0, 1]区间内的数值,第i个输出的值为:

    Softmax函数的n个输出之和为1,正好可以用来建立多标签分类的模型。要使用Softmax函数来建立MNIST的分类模型,首先要把输入的784维特征向量转换成10个特征值,这个工作我们在上一节就已经完成了。这里我们使用相同的方法:10个线性函数。接下来只要把10个特征值输入Softmax函数即可。这个模型跟“one-vs-all”的Logistic回归模型如出一辙,唯一的区别是sigmoid函数换成了softmax函数。反映在代码实现上,只是在计算损失函数时用softmax_cross_entropy_with_logits()替换了sigmoid_cross_entropy_with_logits()。

    # 模型参数
    W = tf.Variable(tf.zeros([784, 10]))
    b = tf.Variable(tf.zeros([10]))
    
    # 预测函数
    def inference(x):
        # 这里也只计算了线性函数的输出而没有计算softmax,
        # 原因跟logistic回归是一样的
        z = tf.matmul(X, W) + b
        return z
    
    # 损失函数
    def loss(x, y):
        z = inference(x)
        return tf.reduce_mean(
            tf.nn.softmax_cross_entropy_with_logits(
                logits=z, labels=y))
    

    算法3:神经网络

    神经网络是通过模拟人的神经系统来实现机器学习的一类算法,也是深度学习的基础。神经网络中的每个单元(也称作“神经元”)接受n个实数输入,加权求和之后,再经过一个激活函数计算得到一个输出。多个神经元并联形成一个层,多个层串联就形成了一个神经网络。

    看过神经网络的描述,是不是觉得有点眼熟?回顾一下前面的Logistic回归算法,Logistic分类器是不是跟这里的神经元差不多?如果使用sigmoid函数作为激活函数,一个神经元就是一个logistic分类器。事实上,sigmoid函数也确实是常用的激活函数之一,也是我们这里要使用的激活函数。其他常用激活函数还有tanh和ReLU。再看图1中用“one-vs-all”方式构建的多标签分类器,也基本符合神经网络的定义。不过它还不能算是一个合格的神经网络。一个神经网络至少应该有三层:输入层、隐藏层和输出层。图1只有输入层和输出层,缺少一个隐藏层。图2就是本节要使用的神经网络,也是最简单的三层神经网络。

    图2:三层神经网络

    虽然只是多了一个隐藏层而已,但是在很多应用场景中效果已经相当不错。比如CMU在上世纪80年代开发的ALVINN系统,只用了最简单的三层神经网络就实现了自动驾驶,效果可以看这里。不能上YouTube的可以看参考资料1,里面也有这段演示。不过神经网络的缺点也很明显,就是计算量大。神经网络的损失函数是所有层的损失函数之和,而训练过程也要更新所有层的权值。训练神经网络的算法称作反向传播算法(BP,Backpropagation)。简单来说,BP就是先计算输出层的梯度,然后逐层反推,计算出所有隐藏层的梯度,然后根据这些梯度去更新权值。网络层次越多,每层单元数量越多,计算量也就越大。如果不是GPU计算的出现大大缩短了神经网络的训练时间,深度学习现在也不会这么火爆。TensorFlow以及其他主流机器学习框架中都已经实现了BP算法,因此不需要我们关注这些细节。关于BP算法的推导和实现,有兴趣可以去看参考资料1。本人水平有限,这里就不献丑了。

    下面是用神经网络来解决MNIST问题的代码:

    # 模型参数
    num_of_hidden_units = 256 # 隐藏层单元数
    
    # 隐藏层,使用sigmoid激活函数
    # 权值不能初始化为0,否则训练过程中权值的所有分量都会一直保持相同的值
    W1 = tf.Variable(tf.truncated_normal([784, num_of_hidden_units]))
    b1 = tf.Variable(tf.zeros([num_of_hidden_units]))
    
    # softmax输出层
    # 权值不能初始化为0,否则训练过程中权值的所有分量都会一直保持相同的值
    W2 = tf.Variable(tf.truncated_normal([num_of_hidden_units, 10]))
    b2 = tf.Variable(tf.zeros([10]))
    
    # 预测函数,算法的核心
    def inference(x):
        # 隐藏层
        z1 = tf.matmul(X, W1) + b1
        a1 = tf.sigmoid(z1)
        # 输出层,softmax函数不用计算
        z2 = tf.matmul(a1, W2) + b2
        return z2
    
    # 损失函数(cost function)
    def loss(x, y):
        z = inference(x)
        return tf.reduce_mean(
            tf.nn.softmax_cross_entropy_with_logits(
                logits=z, labels=y))
    

    算法4:卷积神经网络

    卷积神经网络(Convolutional Neural Network, CNN)是出现比较早也比较成熟的深度学习算法之一,主要应用与图像识别问题,例如本文的MNIST。简单来说,CNN就是具有至少一个卷积层的神经网络。这里的卷积,是指离散卷积,其定义如下:

    其中f是输入图像,g称作核函数(kernal function)。卷积层的作用是对图像进行特征提取,不同的核函数可以提取出图像不同方面的特征。用传统的机器学习方法进行图像识别,需要使用专门的图像处理算法预先将原始图像转换成某种特征向量,才能进行模型训练。提取特征的质量直接关系到最后的结果。用CNN就没有这些麻烦,可以直接用原始图像训练模型,这也是CNN(以及其他深度学习算法)受热捧的原因之一。

    数学不好,对卷积运算就不再纠缠了,TensorFlow中有现成的函数conv2d(),知道怎么调用就可以了。在本节的实现中,W_conv就是核函数,[5, 5, 1, 64]表示这个核函数可以对长为5、宽为5、通道数为1的图像进行运算,输出5*5*64的张量。通道数是指每个像素点用多少个数值表示。MNIST使用的是灰度图像,每个像素点只需要一个数值,因此这里通道数为1。如果是RGB图像,就需要三个数值,通道数就是3。

    函数conv2d()就是把输入图像分成若干个5*5的小块,逐个与核函数进行运算,然后输出结果。参数padding表示进行卷积运算时对原始图像的分块方式,SAME表示输出的尺寸与输入图像的长宽保持一致,因此在本例中conv2d()的输出就是28*\28*64。按照这种分块方式,输入图像的边缘区域就没有足够多的像素进行卷积运算,算法会用0填充(也就是padding)之后再进行卷积。参数padding的另一种取值是VALID,表示不对原始图像进行填充,卷积运算只会覆盖到输入图像的有效像素。如果使用VALID方式,这里的输出就变成了24*\24*64,隐藏层对应的参数也要相应的进行修改,有兴趣可以试一下。

    卷积层同样需要一个激活函数,这里使用前面提到过的ReLU函数,定义如下:

    卷积运算通常会增加每个样本数据点的数量,比如这里就把28*28*1的输入图像变成了28*28*64个特征值。这大大增加了模型的运算量。因此,卷积层之后通常紧随一个pooling层,用来进行下降抽样(down sampling),加快运算速度。它把输入图像分割成指定大小的矩形区域,输出每个区域内点的最大值(max-pooling)或平均值(mean-pooling)。本文的代码中使用TensorFlow提供的max_pool()函数。参数ksize表示抽样的尺寸,四个数值分别表示batch、height、width、channels,[1, 4, 4, 1]的含义就是每次对1个输入样本中4*4区域的1个通道进行抽样。参数strides表示多次抽样之间的间隔距离,strides和ksize的情况下,多次抽样之间就不会有交叉。因此,这里做的就是对卷积输出中每个不相交的4*4区域的每个通道分别取最大值,得到的输出为7*7*64的张量。参数padding的含义与conv2d()相同。

    到这里,用卷积运算进行特征提取已经完成了。对于更复杂的应用,可能有多个卷积层,这里就不讨论了。在本文的实现中,pooling层之后就是和第3节中一样的全连接隐藏层,不过这里使用ReLU替代sigmoid作为激活函数。最后再使用一个第2节中的softmax层作为输出层。代码如下:

    # 卷积层,W_conv即核函数
    W_conv = tf.Variable(tf.truncated_normal([5, 5, 1, 64]))
    b_conv = tf.Variable(tf.zeros([64]))
    
    # 全连接隐藏层
    W_hidden = tf.Variable(tf.truncated_normal([7 * 7 * 64, 1024]))
    b_hidden = tf.Variable(tf.zeros([1024]))
    
    # 输出层
    W_output = tf.Variable(tf.truncated_normal([1024, 10]))
    b_output = tf.Variable(tf.zeros([10]))
    
    # feedforward
    def inference(x):
        # 首先要把
        x_img = tf.reshape(x, [-1, 28, 28, 1])
        # 卷积运算
        convedActivations = tf.nn.relu(
            tf.nn.conv2d(
                x_img, W_conv, strides=[1, 1, 1, 1], padding='SAME') + b_conv)
    
        # pooling
        pooledActivations = tf.nn.max_pool(
            convedActivations,
            ksize=[1, 4, 4, 1],
            strides=[1, 4, 4, 1],
            padding='SAME')
    
        # 隐藏层
        pooledActivationsFlat = tf.reshape(pooledActivations, [-1, 7 * 7 * 64])
        hiddenActivations = tf.nn.relu(tf.matmul(pooledActivationsFlat, W_hidden) + b_hidden)
    
        # 输出层
        logits = tf.matmul(hiddenActivations, W_output) + b_output
    
        return logits
    
    # 损失函数
    def loss(x, y):
        z = inference(x)
        return tf.reduce_mean(
            tf.nn.softmax_cross_entropy_with_logits(
                labels=y, logits=z, name='xentropy'))
    

    把这段代码放在框架里直接执行的话,会发现结果很差。原因是学习速率过大,导致损失函数不能收敛。只要把框架里learning_rate变量的值改为1e-3即可。

    参考资料

    1. TensorFlow官方教程。学习开源项目,官方教程和文档永远是排在第一位的参考资料。尤其是Google这种大公司的开源项目,官方资料还是很靠谱的。
    2. 吴恩达(Andrew Ng)在Coursera上的机器学习在线课程,应该是最流行的机器学习教程了。内容深入浅出,非常适合入门。虽然刚开始不是很习惯吴恩达的口语发音,但是全套课程看下来,还是很喜欢这位老师的。课程中的实验使用的是Matlab/Octave,如果没有基础可能会感觉有点儿吃力,好在需要自己写的代码并不是很多,有时间还是建议都做一下,对理解算法很有帮助。我就是连蒙带猜加搜索,一点点啃下来的。
    3. Standford的Deep Learning Toturials。这个也是吴恩达那批人搞的,在2的基础上增加了深度学习的内容,内容上具有连贯性。学习过2之后,再通过这个教程进入深度学习,是很不错的选择。
    4. 《Tensorflow for Machine Intelligence》。既有TensorFlow的教程,也有关于机器学习和深度学习算法的讲解,对于初学者是很不错的入门参考。书中的实验代码都可以从Github上下载。需要注意的是,因为这本书出版得比较早,里面关于TensorFlow的部分内容已经过时,有些代码可能需要修改才能运行。



    作者:FunFeast
    链接:https://www.jianshu.com/p/f3c9ce8c0f20
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • 在浏览器地址栏输入URL地址,浏览器开始加载页面时,有以下几个过程 ... ... ... 4、 浏览器等待图片、样式表、字体文件等外部资源加载完成 在这其中,有两个阶段: ...ready,表示文档结构已经加载完成(不包含图片
  • 首先出现静态资源加载失败的原因是路径问题, ...借助 webpack 的 url-loader 将字体文件和图片打包,小文件转 base64 ,大文件注入路径前缀 vue cli2写法 const publicPath = process.env.NODE_ENV ===
  • 写法: 1、按照第三方插件的提示,这样可以展示生成二维码 <div id="pop"> <div id="output"></div> <div id="title">想去旅行的静静</div> </div> jQuery(function(){ ...
  • 很多新手对图片验证码不是很了解,最近自己也与做这个功能,于是决定把自己的用个代码给大家分享一下,接下来我们就来看看一个实例吧...注意一点,其中commons-lang.jar就本项目需要加入,可能因为不同写法,此可...
  • 页面加载完成有两种事件: documnet.ready,表示文档结构已经加载完成(不包含图片等非...JQuery中的ready方法就是documnet.ready(),包含如下3中写法:$(function(){ // do something });$(document).ready(functi
  • Markdown简单语法

    2021-02-23 15:18:42
    写法:#+标题名,几级标题就加几个# 三级标题 四级标题 二、字体 粗体 写法:用两对星号将字体包裹起来 Hello 斜体 写法:用一对星号将字体包裹起来 Hello 斜体加粗 写法:三对星号包裹 Hello 删除线 写法:两对波浪...
  • 快速学会Mackdown语法

    2020-12-25 18:03:52
    1、命令 1.1 标题 写法 # 一级标题 ## 二级标题 ### 三级标题 以此类推 预览 一级标题 ...写法 ...1.4 图片 ...[图片](图片地址) ...[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接...使用两个 ```起来。可以
  • HTML基础HTML基本知识与结构HTML常见标签标签写法与嵌套的讨论HTML、CSS、javascript三者的关系HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息,可以包含文字、图片、视频等。CSS样式是...
  • 第一部分:内部要素 一、提高网站软文内容质量 1、图文并茂的文章(文章摘要下面配图比无图文章收录要快、排名要好;)建议2-3张图;...所以建议为每一张图片加上alt标签,标签的写法上要包含关键词同时自
  • 页面加载完成有两种事件1.ready事件...JQ写法:$(document).ready(function(){})可以简写成$(function(){}); 2.onload事件,指示页面包含图片等文件在内的所有元素都加载完成。(ready 在onload 前加载); 可以做个这...
  • jQuery 页面加载事件

    2019-09-20 19:51:54
    页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都... 用jQ的人很多人都是这么开始写脚本的: 通常的写法 复制...
  • 页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内...用jQ的人很多人都是这么开始写脚本的:通常的写法复制代码 代码如下:$(fu...
  • 页面加载完成有两种事件,一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件),二是onload,指示页 面包含图片等文件在内的所有元素都加载...用jQ的人很多人都是这么开始写脚本的:通常的写法 ...
  • 1.jQuery的ready事件,需要引入jQuery的才能使用,表示文档结构已经加载完成(不包含图片等非文字媒体文件); ready可以多次调用,可以绑定多个函数执行,在DOM文档结构加载完毕后,按照绑定顺序执行这些函数,...
  • 页面加载完成有两种事件... 用jQ的人很多人都是这么开始写脚本的: 通常的写法 代码如下: $(function(){ // do something }); 其实这个就是jq ready()的简写,他等价于: 代码如下: $(document).ready(function(){ //do
  • 一般情况下,我们对应用进行配置打包,要对图片字体等资源进行下面配置,使得资源路径正常加载。但是,在微前端模式下,子应用打包部署后,往往会出现子应用 css 文件里面引入资源路径加载失败的问题,下面就让我们...
  • 一般情况下,我们对应用进行配置打包,要对图片字体等资源进行下面配置,使得资源路径正常加载。但是,在微前端模式下,子应用打包部署后,往往会出现子应用 css 文件里面引入资源路径加载失败的问题,下面就让我们...
  • Markdown语法效果展示

    千次阅读 2016-04-29 15:06:37
    掌握标题,图片展示,文本超链接,图片超链接,有序无需列表,全局目录,加粗,分割线,区域引用,代码区域这些内容;其它的再慢慢学习; 目录(二级标题)Markdown语法大标题 目录二级标题 简介二级标题 文档二级...
  • 标题一级标题二级标题三级标题四级标题五级标题六级标题注:# 和「一级标题」之间建议保留一个字符的空格,这是最标准的 Markdown 写法。列表:+ , - , * ,1. 注:-、1.和文本之间要保留一个字符的空格。链接和图片 ...
  • 在DOM加载完毕后执行ready()方法(不包含图片等非文字媒体文件); 一个页面中可以写多个$(function(){}); 全写: $(docunemt).ready(function(){ }); 顺便说一下(function($){ })(jQuery) 上面的写法是: 立即...
  • 注意例2的写法使用了URL标识符的形式,在链接一节有介绍。 在文末有code-past的定义: [code-past]:/img/codepast-logo.jpg "公众号:编程往事" 链接 链接外部URL # 语法 效果 1 [我的博客]...
  • 注意例2的写法使用了URL标识符的形式,在链接一节有介绍。 在文末有code-past的定义: [code-past]:/img/codepast-logo.jpg "公众号:编程往事" 链接 链接外部URL # 语法 效果 1 [我的博客]...
  • 超实用的jQuery代码段

    2019-03-04 10:20:41
    11.18 最优化的循环语句写法 11.19 如何构建最优化的字符串 11.20 使用jQuery产生GUID值 11.21 使用jQuery实现聚合函数 11.22 用jQuery打印网页的特定区域 11.23 禁止表单被提交 11.24 使用delay()延迟执行动画 ...
  • (6)背景复合写法 background:颜色 图片地址url 平铺 滚动 位置 没有顺序要求 (7)背景色半透明 background:rgba(0,0,0,0.3)取值0-1 0.3也可以写成.3 背景色半透明 盒子里面内容不受影响
  • - 务必gallery 中组件使用 1.2.0 Loader 的写法. 不考虑 1.1.6. 如果其他人要用该组件, 自行拷贝修改; - 提交到 KISSY Gallery 请参考 yours.7z 中目录结构; 3.3) 修改组件时: - 小修改/bugfix, 保持兼容且适当写...

空空如也

空空如也

1 2 3 4
收藏数 74
精华内容 29
关键字:

包字写法图片