狗狗临终前的告别方式 我们该如何与宠物告别

导读: 消化事实 向它告别 整理回忆 找出它生命的意义

消化事实

消化宠物离开的事实需要时间,悲伤之外,你可能还有很多遗憾。

你有自己的事业和生活,没能多陪陪它,你会希望当初能对它更好一点;或者,你猜测,如果做了别的医疗决定,它会不会晚点走,会不会少一些痛苦?时间不能倒流,但你试图用这样的方式挽留些什么。

事实上,你已经做得足够好了。你会这么想,只是因为太舍不得了。

建议把它的离开告诉周围的人。附近的宠物店、常去的宠物医院、晒宠物的微信群、宠物火化场,你会发现,小伙伴们很能理解失去它的悲伤,也会安慰到你。

和他们的聊天,能够让消化事实的阶段没那么艰难。

向它告别

它的离去,在你心里留下了一个巨大的空洞,好像关于它的事情,都一并消失了。所有家里家外的用具、场景,也在提醒你有关它的过往。

所以,你需要正式向它告别。可以是火化或埋葬的时候遗体告别,可以是对着它的照片说话,也可以写一封信给它。你需要这样的仪式,来允许自己放下。

然后,可以整理一下它的东西,留下几件纪念品,其他都打包收好或者送人。

整理回忆

回忆是有好处的,回忆帮助你记住曾经在一起的日子,和它生命的意义。

它的形体湮灭了,有关于它的记忆却一直留在你心里。死亡并没有把一切都带走,这是新的阶段,它活着的新的方式。

留出不被打扰的一段时间:或者一个人静静地回想;或者和有类似经历的朋友聊聊;甚至可以招呼大家一起,办个非正式的小型追思会。给大家讲讲悲伤和不舍,讲讲它曾带来的亲密和欢乐;

你第一次带它回家的时候,它对新环境的反应?

▷ 熟悉了之后它的表现是?

▷ 它是萌系还是高冷系?

▷ 它如何迎接你回家?

▷ 它怎么表达不满?

▷ 它怎么要吃的?

▷ 它会眼馋你的食物吗?

▷ 它在哪里睡觉,睡成什么姿势?

▷ 它和家里人怎样互动,和外人呢?

▷ 它最喜欢的家人是谁,最喜欢的动物伙伴是谁?

▷ 在有它相伴的岁月里,你的人生发生了什么变化?

▷ 初见时它是什么样子,你是什么样子?

▷ 它离开后,你的心愿达成了吗?

▷ 它见证了你怎样的岁月?

用这一连串的问题,来整理你与它的回忆,帮助你感知,死亡并不是一切的结束。

找出它生命的意义

冥冥之中,你们的生命,被紧紧联系在了一起。

你是它生命的见证者,它必然也是你某段人生的见证者。这样一位朋友和家人,值得花时间来送别。

是它的陪伴,让你和它的生命更有意义

每一个它都在某人的生活中扮演了重要角色。

有位朋友抑郁了,大家凑钱买了一只拉布拉多送他。一年后,奄奄一息的抑郁患者,俨然一名生龙活虎的模范狗爸爸。有小朋友受了挫折后,吃光了珍藏的全部饼干之后,计划跳楼。一只大橘猫突然凑过来,上上下下舔遍他整张脸。他被舔得恢复生机,不想去死了。

更多的人为了生活疲惫不堪,只有回到家抱起爱宠的那一刻,才能感觉到生活的柔软和温暖。

你相信“每个生命都有自己特定的使命”吗?也许,它也一定背负着某种使命。比如,让你在那一段不易的人生中,不孤单,不沉沦。比如,在若干年内,温暖你的内心。

体会它所带给你的,找出生命的意义。

如何面对宠物的离世 我们应该如何整理情绪和宠物告别

陪伴多年的老朋友离开了,在我们心里留下一个空洞。伤心、酸楚和失落,留恋、不舍与愧疚,纷至沓来。最伤心的时候,不能回想有关于它的任何事情,甚至,你决定不再养宠物,无法再次承受分离的痛苦。

时间会令痛苦渐渐减轻,当然,空洞依旧无法填补。

社会上的某些人会觉得小题大做:“不就是个动物嘛!”但养过宠物的人都知道,它是你最好的朋友。我们都需要找出专门的时间,允许自己郑重地向它道别。

我们应该如何告别 

那么,面对宠物的离去,到底应该怎么消化悲伤的情绪呢?我们有以下5点建议。

 

消化事实

消化宠物离开的事实需要时间,悲伤之外,你可能还有很多遗憾。

你有自己的事业和生活,没能多陪陪它,你会希望当初能对它更好一点;或者,你猜测,如果做了别的医疗决定,它会不会晚点走,会不会少一些痛苦?时间不能倒流,但你试图用这样的方式挽留些什么。

事实上,你已经做得足够好了。你会这么想,只是因为太舍不得了。

建议把它的离开告诉周围的人。附近的宠物店、常去的宠物医院、晒宠物的微信群、宠物火化场,你会发现,小伙伴们很能理解失去它的悲伤,也会安慰到你。

和他们的聊天,能够让消化事实的阶段没那么艰难。


向它告别

它的离去,在你心里留下了一个巨大的空洞,好像关于它的事情,都一并消失了。所有家里家外的用具、场景,也在提醒你有关它的过往。

所以,你需要正式向它告别。可以是火化或埋葬的时候遗体告别,可以是对着它的照片说话,也可以写一封信给它。你需要这样的仪式,来允许自己放下。

然后,可以整理一下它的东西,留下几件纪念品,其他都打包收好或者送人。

 

整理回忆

回忆是有好处的,回忆帮助你记住曾经在一起的日子,和它生命的意义。

它的形体湮灭了,有关于它的记忆却一直留在你心里。死亡并没有把一切都带走,这是新的阶段,它活着的新的方式。

留出不被打扰的一段时间:或者一个人静静地回想;或者和有类似经历的朋友聊聊;甚至可以招呼大家一起,办个非正式的小型追思会。给大家讲讲悲伤和不舍,讲讲它曾带来的亲密和欢乐——

▷ 你第一次带它回家的时候,它对新环境的反应?

▷ 熟悉了之后它的表现是?

▷ 它是萌系还是高冷系?

▷ 它如何迎接你回家?

▷ 它怎么表达不满?

▷ 它怎么要吃的?

▷ 它会眼馋你的食物吗?

▷ 它在哪里睡觉,睡成什么姿势?

▷ 它和家里人怎样互动,和外人呢?

▷ 它最喜欢的家人是谁,最喜欢的动物伙伴是谁?

▷ 在有它相伴的岁月里,你的人生发生了什么变化?

▷ 初见时它是什么样子,你是什么样子?

▷ 它离开后,你的心愿达成了吗?

▷ 它见证了你怎样的岁月?

用这一连串的问题,来整理你与它的回忆,帮助你感知,死亡并不是一切的结束。

 

找出它生命的意义

冥冥之中,你们的生命,被紧紧联系在了一起。

你是它生命的见证者,它必然也是你某段人生的见证者。这样一位朋友和家人,值得花时间来送别。

每一个它都在某人的生活中扮演了重要角色。

有位朋友抑郁了,大家凑钱买了一只拉布拉多送他。一年后,奄奄一息的抑郁患者,俨然一名生龙活虎的模范狗爸爸。

有小朋友受了挫折后,吃光了珍藏的全部饼干之后,计划跳楼。一只大橘猫突然凑过来,上上下下舔遍他整张脸。他被舔得恢复生机,不想去死了。

更多的人为了生活疲惫不堪,只有回到家抱起爱宠的那一刻,才能感觉到生活的柔软和温暖。

你相信“每个生命都有自己特定的使命”吗?也许,它也一定背负着某种使命。比如,让你在那一段不易的人生中,不孤单,不沉沦。比如,在若干年内,温暖你的内心。

体会它所带给你的,找出生命的意义。
 

 

死后的生命

最后,你相信死后的生命吗?

一旦你发现了它生命的意义,无论你是否相信死后的世界, “它完成了使命,回到宠物星球去了”——这样孩子气的想法,仍然会让你感到安慰。

 

 道别仪式是如何起作用的?

弗洛伊德在他划时代的作品《哀伤与抑郁》(Freud,1927)里,表达了这样一层意思:

失去重要的他人,对我们来说特别难以消化。这一丧失让我们觉得失去了和对方的连接,内心里对方的影像好像也一并消失了。

当然事实并非如此。

但是,哀悼它在现实中的离开,回忆和它在一起的岁月,以这样的方式和它告别,接受它以另外的形式活在我们心里,也是需要一些时间的。

它的生命终结了,我们内心仍然保有它的形象,这就是“客体恒常性”(Object Constancy)。而哀悼的过程,将它铭记于心的过程,叫做内摄性认同(Introjective Identification)。

 

什么是客体恒常性?

我们先来理解一下什么是“客体”(Object)。

精神分析的关系学派里,为了描述和他人互动的主观体验,会把当事人称为主体(Subject),把对于当事人比较重要的他人,称为客体(Object)。

拥有客体恒常性,意味着人们有能力,保留重要他人在心中映射出的稳定图像 (Fraiberg, 1969)。

对刚出生的婴儿来说,并没有客体恒常性,爸爸妈妈照顾自己的时候,他们存在;离开了,就不存在。

婴儿要经过两三年的心理发育,慢慢发展出“客体恒常性”。意识到对方不在身边的时候,也是存在的,并且因此能够忍受自己的需求没有被立即回应。

这个忍受延迟回应的能力,也在缓慢的发展。往往母亲会有一种本能,知道应该立即回应新生儿,知道可以稍微延迟满足大一点的婴儿。

发展出客体恒常性,靠的是心理上内摄性认同的机制。

 

什么是内摄性认同?

内摄性认同的整个心理过程是这样的:

婴儿感到饥饿,母亲意识到后喂养婴儿,婴儿觉得很满足。当婴儿再饥饿的时候,他就开始预想自己需要的那个喂养乳房,当他得到了喂养时,就会知足地安静下来;而如果不是他要的喂养乳房,那么婴儿就会表现的更恼怒。这样,婴儿在满意或沮丧的情绪状态下,建立起了相对应的想法,婴儿的思考力得到发展。

多次满足使得婴儿在内心建立了关于母亲的乳房的模糊形象,在饥饿的时候,婴儿可以确定,妈妈就在某处,会很快来满足自己。

这时候,婴儿靠内心中有关于乳房的记忆,也就是摄入到内心有关乳房的感知觉记忆,来忍受短暂的等待时光。

 

内摄性认同帮我们接受宠物的离开

当然,我们现在已经长大,不再是小婴儿了,所以不再仰仗他人的照顾才能存活。亲人朋友离开了,多难过也会想方设法活下去。

小婴儿需要内摄性认同帮助自己熬过等待的时间,我们也需要内摄性认同,来把宠物的记忆保存在心底,接受它们生命的消亡。

内摄性认同让我们在心里保有对方的音容笑貌,相处的记忆。当与他们分开,我们也能通过回忆,一次又一次地感受对方的存在。所以,内摄性认同帮助我们承受对方的离去,帮助我们完成哀悼。

我们度过分离、丧失、告别的方式,一如生命之初:我们忍受对方不再出现在现实中,珍藏他们留下的美好回忆,接受对方换成这种方式活在我们心里。

它的生命,对世界、对你,都有特别的意义。有关于它的回忆不会真正消失,这是新的阶段,它活着的新的方式。

这份记忆不需要完美,它可能有很多疏漏的、逗逼的细节,至今想来,还会让你大笑不止。这份记忆会成为我们生命的一部分,以这样的方式,对方仍然活在我们的生命里。

你不需要是完美的主人,它也不需要是一只完美的宠物。你们相伴的日子,是平凡人生里互放的光亮。

宠物的离开总是让人难过,它给了你全然的关注和依恋,你也享受着这样舒心的待遇。它的突然离开,常常让人茫然无措,不知道如何是好。

这时候你需要一些指引,也需要家人和朋友们的支持。允许自己花时间哀悼,而不是借酒消愁放纵自己,或者因逃避而做出伤人伤己的举动。

正视现实,按照我们谈到的建议,一点、一点完成道别,即使过程艰难,也最终会平安度过,获得心灵的宁静。

作者:羊陀 / 心理咨询师

编辑:扬羽

陪伴多年的老朋友离开了,在我们心里留下一个空洞。伤心、酸楚和失落,留恋、不舍与愧疚,纷至沓来。最伤心的时候,不能回想有关于它的任何事情,甚至,你决定不再养宠物,无法再次承受分离的痛苦。

时间会令痛苦渐渐减轻,当然,空洞依旧无法填补。

社会上的某些人会觉得小题大做:“不就是个动物嘛!”但养过宠物的人都知道,它是你最好的朋友。我们都需要找出专门的时间,允许自己郑重地向它道别。

 我们应该如何告别 

那么,面对宠物的离去,到底应该怎么消化悲伤的情绪呢?我们有以下5点建议。

 

消化事实

消化宠物离开的事实需要时间,悲伤之外,你可能还有很多遗憾。

你有自己的事业和生活,没能多陪陪它,你会希望当初能对它更好一点;或者,你猜测,如果做了别的医疗决定,它会不会晚点走,会不会少一些痛苦?时间不能倒流,但你试图用这样的方式挽留些什么。

事实上,你已经做得足够好了。你会这么想,只是因为太舍不得了。

建议把它的离开告诉周围的人。附近的宠物店、常去的宠物医院、晒宠物的微信群、宠物火化场,你会发现,小伙伴们很能理解失去它的悲伤,也会安慰到你。

和他们的聊天,能够让消化事实的阶段没那么艰难。

 

向它告别

它的离去,在你心里留下了一个巨大的空洞,好像关于它的事情,都一并消失了。所有家里家外的用具、场景,也在提醒你有关它的过往。

所以,你需要正式向它告别。可以是火化或埋葬的时候遗体告别,可以是对着它的照片说话,也可以写一封信给它。你需要这样的仪式,来允许自己放下。

然后,可以整理一下它的东西,留下几件纪念品,其他都打包收好或者送人。

 

整理回忆

回忆是有好处的,回忆帮助你记住曾经在一起的日子,和它生命的意义。

它的形体湮灭了,有关于它的记忆却一直留在你心里。死亡并没有把一切都带走,这是新的阶段,它活着的新的方式。

▲ 回忆与它一起的时光,让它的笑容刻进你心中

留出不被打扰的一段时间:或者一个人静静地回想;或者和有类似经历的朋友聊聊;甚至可以招呼大家一起,办个非正式的小型追思会。给大家讲讲悲伤和不舍,讲讲它曾带来的亲密和欢乐——

▷ 你第一次带它回家的时候,它对新环境的反应?

▷ 熟悉了之后它的表现是?

▷ 它是萌系还是高冷系?

▷ 它如何迎接你回家?

▷ 它怎么表达不满?

▷ 它怎么要吃的?

▷ 它会眼馋你的食物吗?

▷ 它在哪里睡觉,睡成什么姿势?

▷ 它和家里人怎样互动,和外人呢?

▷ 它最喜欢的家人是谁,最喜欢的动物伙伴是谁?

▷ 在有它相伴的岁月里,你的人生发生了什么变化?

▷ 初见时它是什么样子,你是什么样子?

▷ 它离开后,你的心愿达成了吗?

▷ 它见证了你怎样的岁月?

用这一连串的问题,来整理你与它的回忆,帮助你感知,死亡并不是一切的结束。

 

找出它生命的意义

冥冥之中,你们的生命,被紧紧联系在了一起。

你是它生命的见证者,它必然也是你某段人生的见证者。这样一位朋友和家人,值得花时间来送别。

▲ 是它的陪伴,让你和它的生命更有意义

每一个它都在某人的生活中扮演了重要角色。

有位朋友抑郁了,大家凑钱买了一只拉布拉多送他。一年后,奄奄一息的抑郁患者,俨然一名生龙活虎的模范狗爸爸。

有小朋友受了挫折后,吃光了珍藏的全部饼干之后,计划跳楼。一只大橘猫突然凑过来,上上下下舔遍他整张脸。他被舔得恢复生机,不想去死了。

更多的人为了生活疲惫不堪,只有回到家抱起爱宠的那一刻,才能感觉到生活的柔软和温暖。

你相信“每个生命都有自己特定的使命”吗?也许,它也一定背负着某种使命。比如,让你在那一段不易的人生中,不孤单,不沉沦。比如,在若干年内,温暖你的内心。

体会它所带给你的,找出生命的意义。

 

死后的生命

最后,你相信死后的生命吗?

一旦你发现了它生命的意义,无论你是否相信死后的世界, “它完成了使命,回到宠物星球去了”——这样孩子气的想法,仍然会让你感到安慰。

 道别仪式是如何起作用的?

弗洛伊德在他划时代的作品《哀伤与抑郁》(Freud,1927)里,表达了这样一层意思:

失去重要的他人,对我们来说特别难以消化。这一丧失让我们觉得失去了和对方的连接,内心里对方的影像好像也一并消失了。

当然事实并非如此。

但是,哀悼它在现实中的离开,回忆和它在一起的岁月,以这样的方式和它告别,接受它以另外的形式活在我们心里,也是需要一些时间的。

它的生命终结了,我们内心仍然保有它的形象,这就是“客体恒常性”(Object Constancy)。而哀悼的过程,将它铭记于心的过程,叫做内摄性认同(Introjective Identification)。

 

什么是客体恒常性?

我们先来理解一下什么是“客体”(Object)。

▲ 主体与客体

精神分析的关系学派里,为了描述和他人互动的主观体验,会把当事人称为主体(Subject),把对于当事人比较重要的他人,称为客体(Object)。

拥有客体恒常性,意味着人们有能力,保留重要他人在心中映射出的稳定图像 (Fraiberg, 1969)。

对刚出生的婴儿来说,并没有客体恒常性,爸爸妈妈照顾自己的时候,他们存在;离开了,就不存在。

婴儿要经过两三年的心理发育,慢慢发展出“客体恒常性”。意识到对方不在身边的时候,也是存在的,并且因此能够忍受自己的需求没有被立即回应。

这个忍受延迟回应的能力,也在缓慢的发展。往往母亲会有一种本能,知道应该立即回应新生儿,知道可以稍微延迟满足大一点的婴儿。

发展出客体恒常性,靠的是心理上内摄性认同的机制。

 

什么是内摄性认同?

内摄性认同的整个心理过程是这样的:

婴儿感到饥饿,母亲意识到后喂养婴儿,婴儿觉得很满足。当婴儿再饥饿的时候,他就开始预想自己需要的那个喂养乳房,当他得到了喂养时,就会知足地安静下来;而如果不是他要的喂养乳房,那么婴儿就会表现的更恼怒。这样,婴儿在满意或沮丧的情绪状态下,建立起了相对应的想法,婴儿的思考力得到发展。

多次满足使得婴儿在内心建立了关于母亲的乳房的模糊形象,在饥饿的时候,婴儿可以确定,妈妈就在某处,会很快来满足自己。

这时候,婴儿靠内心中有关于乳房的记忆,也就是摄入到内心有关乳房的感知觉记忆,来忍受短暂的等待时光。

 

内摄性认同帮我们接受宠物的离开

当然,我们现在已经长大,不再是小婴儿了,所以不再仰仗他人的照顾才能存活。亲人朋友离开了,多难过也会想方设法活下去。

小婴儿需要内摄性认同帮助自己熬过等待的时间,我们也需要内摄性认同,来把宠物的记忆保存在心底,接受它们生命的消亡。

内摄性认同让我们在心里保有对方的音容笑貌,相处的记忆。当与他们分开,我们也能通过回忆,一次又一次地感受对方的存在。所以,内摄性认同帮助我们承受对方的离去,帮助我们完成哀悼。

我们度过分离、丧失、告别的方式,一如生命之初:我们忍受对方不再出现在现实中,珍藏他们留下的美好回忆,接受对方换成这种方式活在我们心里。

▲ 在英国,有商家提供宠物墓碑定制服务

它的生命,对世界、对你,都有特别的意义。有关于它的回忆不会真正消失,这是新的阶段,它活着的新的方式。

这份记忆不需要完美,它可能有很多疏漏的、逗逼的细节,至今想来,还会让你大笑不止。这份记忆会成为我们生命的一部分,以这样的方式,对方仍然活在我们的生命里。

你不需要是完美的主人,它也不需要是一只完美的宠物。你们相伴的日子,是平凡人生里互放的光亮。

宠物的离开总是让人难过,它给了你全然的关注和依恋,你也享受着这样舒心的待遇。它的突然离开,常常让人茫然无措,不知道如何是好。

这时候你需要一些指引,也需要家人和朋友们的支持。允许自己花时间哀悼,而不是借酒消愁放纵自己,或者因逃避而做出伤人伤己的举动。

正视现实,按照我们谈到的建议,一点、一点完成道别,即使过程艰难,也最终会平安度过,获得心灵的宁静。

怎么识别小狗的品种(如何识别宠物狗品种)

在这篇文章中,我将教你建立你自己的网页应用程序,它将接受你的狗的图片,并输出其品种。准确率超过80%!怎么识别小狗的品种(如何识别宠物狗品种)我们将使用深度学习来训练一个模型的数据集的狗图像与他们的品种,以学习的特征来区分每一个品种。数据分析在成功加载和浏览数据集后,以下是关于数据的一些介绍:犬种总数:133狗图片总数:8351(训练集:6680,验证集:835,测试集:836)最受欢迎的品种:阿拉斯加:96,博德牧羊犬:93按图片数量排序的前30个品种如下:怎么识别小狗的品种(如何识别宠物狗品种)我们还可以在这里看到一些狗的图片和它们的品种:怎么识别小狗的品种(如何识别宠物狗品种)数据预处理经过分析,为机器学习算法准备数据。我们将把每个图像作为一个numpy数组加载,并将它们的大小调整为224×224,因为这是大多数传统神经网络接受图像的默认大小。我们还将为图像的数量添加另一个维度from keras.preprocessing import image from tqdm import tqdmdef path_to_tensor(img_path): ”’将给定路径下的图像转换为张量”’ img = image.load_img(img_path, target_size=(224, 224)) x = image.img_to_array(img) return np.expand_dims(x, axis=0)def paths_to_tensor(img_paths): ”’将给定路径中的所有图像转换为张量”’ list_of_tensors = [path_to_tensor(img_path) for img_path in tqdm(img_paths)] return np.vstack(list_of_tensors)最后,我们将使用ImageDataGenerator对图像进行动态缩放和增强train_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255, horizontal_flip=True, vertical_flip=True, rotation_range=20)valid_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255.)test_datagen = tf.keras.preprocessing.image.ImageDataGenerator(rescale=1./255.)train_generator = train_datagen.flow(train_tensors, train_targets, batch_size=32)valid_generator = train_datagen.flow(valid_tensors, valid_targets, batch_size=32)test_generator = train_datagen.flow(test_tensors, test_targets, batch_size=32)CNN我们将在预处理数据集上从头开始训练卷积神经网络(CNN),如下所示:model = tf.keras.models.Sequential([ tf.keras.layers.Conv2D(16, (3,3), activation=’relu’, input_shape=(224, 224, 3)), tf.keras.layers.MaxPooling2D(2, 2), tf.keras.layers.Conv2D(32, (3,3), activation=’relu’), tf.keras.layers.MaxPooling2D(2,2), tf.keras.layers.Conv2D(64, (3,3), activation=’relu’), tf.keras.layers.Conv2D(128, (3,3), activation=’relu’), tf.keras.layers.Conv2D(256, (3,3), activation=’relu’), tf.keras.layers.Flatten(), tf.keras.layers.Dense(2048, activation=’softmax’), tf.keras.layers.Dropout(0.5), tf.keras.layers.Dense(1024, activation=’softmax’), tf.keras.layers.Dense(133, activation=’softmax’)])model.compile(optimizer=’rmsprop’, loss=’categorical_crossentropy’, metrics=[‘accuracy’])checkpointer = tf.keras.callbacks.ModelCheckpoint(filepath=’../saved_models/weights_best_custom.hdf5′, verbose=1, save_best_only=True)model.fit(trai n_generator, epochs=5, validation_data=valid_generator, callbacks=[checkpointer])我们使用一个ModelCheckpoint回调来保存基于验证分数的模型。测试这个模型,我们得到的准确率只有1%左右使用迁移学习现在,我们将看到如何使用预训练的特征可以产生巨大的不同。下载ResNet-50。你可以通过运行下面的代码单元来提取相应的训练集、测试和验证集:bottleneck_features = np.load(‘Data/bottleneck_features/DogResnet50Data.npz’)train_Resnet50 = bottleneck_features[‘train’]valid_Resnet50 = bottleneck_features[‘valid’]test_Resnet50 = bottleneck_features[‘test’]我们现在将再次定义模型,并对提取的特征使用GlobalAveragePooling2D,它将一组特征平均为一个值。最后,如果验证损失在两个连续的epoch内没有增加,我们使用额外的回调来降低学习率,降低平台,并且如果验证损失在连续的5个epoch内没有增加,也可以提前停止训练。Resnet50_model = tf.keras.models.Sequential()Resnet50_model.add(tf.keras.layers.GlobalAveragePooling2D(input_shape=train_Resnet50.shape[1:]))Resnet50_model.add(tf.keras.layers.Dense(1024, activation=’relu’))Resnet50_model.add(tf.keras.layers.Dense(133, activation=’softmax’))Resnet50_model.compile(loss=’categorical_crossentropy’, optimizer=’rmsprop’, metrics=[‘accuracy’])checkpointer = tf.keras.callbacks.ModelCheckpoint(filepath=’saved_models/weights_best_Resnet50.hdf5′, early_stopping = tf.keras.callbacks.EarlyStopping(patience=5, monitor=’val_loss’)reduce_lr = tf.keras.callbacks.ReduceLROnPlateau(patience=2, monitor=’val_loss’)Resnet50_model.fit(train_Resnet50, train_targets, validation_data=(valid_Resnet50, valid_targets), epochs=50, batch_size=20, callbacks=[checkpointer, early_stopping, reduce_lr], verbose=1)### 训练模型在测试集上的准确率为82.65%。与我们白手起家训练的模型相比,这是一个巨大的进步。构建web应用程序对于web应用程序,我们将首先编写一个helper函数,该函数接受图像路径并返回品种。label_to_cat字典将每个数字标签映射到它的狗品种。def predict_breed(img_path): ”’预测给定图像的品种”’ # 提取特征 bottleneck_feature = extract_Resnet50(path_to_tensor(img_path)) bottleneck_feature = tf.keras.models.Sequential([ tf.keras.layers.GlobalAveragePooling2D(input_shape=bottleneck_feature.shape[1:]) ]).predict(bottleneck_feature).reshape(1, 1, 1, 2048) # 获得预测向量 predicted_vector = Resnet50_model.predict(bottleneck_feature) # 模型预测的犬种 return label_to_cat[np.argmax(predicted_vector)]对于web应用程序,我们将使用flaskweb框架来帮助我们用最少的代码创建web应用程序。我们将定义一个接受图像的路由,并用狗的品种呈现一个输出模板@app.route(‘/upload’, methods=[‘POST’,’GET’])def upload_file(): if request.method == ‘GET’: return render_template(‘index.html’) else: file = request.files[‘image’] full_name = os.path.join(UPLOAD_FOLDER, file.filename) file.save(full_name) dog_breed = dog_breed_classifier(full_name) return render_template(‘predict.html’, image_file_name = file.filename, label = dog_breed)predict.html是分别显示图像及其犬种的模板。结论祝贺 你!你已经成功地实现了一个狗品种分类器,并且可以自信地分辨出狗的品种。让我们总结一下我们在这里学到的:我们对数据集进行了分析和预处理。机器学习算法需要单独的训练集、测试集和验证集来进行置信预测。我们从零开始使用CNN,由于未能提取特征,所以表现不佳。然后我们使用迁移学习,准确度大大提高最后,我们构 建了一个Flask web应用程序来准备我们的项目产品我们确实学到了很多东西,但还有很多其他的事情你可以尝试。你可以在heroku上部署web应用程序,也可以尝试使用不同的层(如Dropout层)来提高准确性。

本文Hash:0fa8e42dbe265d2cd192183aa6b916512b2c1f9b

声明:此文由 ninja 分享发布,并不意味布布狗赞同其观点。文章内容仅供参考,此文如侵犯到您的合法权益,请联系我们。