00:00
回忆一下上节课内容啊,上节课我们删除了字典中的字典项,DL按位置删除,Pop是弹战,按照key来弹战pop item按顺序谈占顶。字典有什么实际的应用吗?我们来看一下,根据这张图就是蒙娜丽莎,根据它生成纹声图的提示词,要求尽可能的还原图片,但是不要使用蒙娜丽莎这样的直接词汇,只给的不行,要用描述的方式进行生成,给我有结构的J4文件。字典不要嵌套,尽量中文,每个字典项尽量正交,那什么是正交呢?正交怎么理解?那么我们来看一下正交。角糟呢,正交,正正的相交,说OA和OB是垂直的关系,它们是正正的相交,垂直90°,你往东走,我往北走是吧,你往你往东走的过程中一点儿没有往北的分量,我往北走的过程中一点儿没有往东的分量,那就是这两个。
01:10
方向互相没有任何影响,那我们就要把图片生成这样的一个正交的纹声图的提示词。刚才这个AI出点问题,我跟他互动了一下,东西发过去之后,他说他无法回答我问题,我就问他这个不是蒙娜丽莎了吗?怎么了?他说这个也不是蒙娜丽莎,有啥禁忌,关键系统你上传了之后,它有风控拦截,所以它识别出来之后就被限制了。那换个方式,不提名字,只用纯画面输出,我们得到这个东西主体内容,呃,面部神态,那我拿这个东西刚才不是图生纹了吗?我拿这个东西在纹生图。看看它的效果,我们可以看到它能够生成这个经典的蒙娜丽莎的这么一个油画的画像,这么一个字典,它的提示词是这样的,有人物面部特征,人物肢肢,肢体姿态,人物服饰细节,这三个东西就把主体人物给拆开了,脸是脸,身上的是身上,服饰是服饰,各有不同景别角度啊,这些东西把它拆成若干个正交的字典下就是这个意思。
02:23
那拆成正交了有什么用?我可以给它直接对存这个字典项进行一些操作,首先新建一个P.PY把这个代码拿过来,这是原始的提示词,我要对提示词修改两项,哪两项人物面部特征不是这个欧洲女性了,而是一个中国古代著名武将关羽肢体特征,双手还她,还是蒙娜丽莎那个姿势,把它运行一下。那就会得到一个新的字典,那我拿这个新的字典,我能不能去生成这个图呢?我们再去试试看到生成的这个可以理解为蒙娜丽莎男性化是吧。
03:08
它它有一些核心的东西没有加上,其实什么这个服装有点儿不太合适了。服装可以改成什么呀?我再加一下,这强化一些服装的特性,我们把这个东西拿过来。粘过去,面部改了,肢体改了,服饰,经典的关羽绿色盔甲战袍,这个时候再去运行,我们就得到了一个新的提示词,再去生成,这回修改之后,其实它就是更更有衣服就更配套了,因为脸和衣服和整体它都是互相影响的,你想让它绝对正交不可能,但是尽量让它正胶可以更新。这个是使用直接存取字典项的方式去控制某个key的value,还有一种方式是update update什么意思?我们可以观察一下,把这个key背景环境描述的这个key设置成意大利,那其他的人物啊,景别这些都不变,运行之后得到这样一个阴天的意大利斜塔。
04:15
得到了这个背景,环境描述是意大利的斜塔,阴天。其他都没变,我就把这一个字典像update了,他就会得到什么,得到一个油画人像,它的这个背景不再是山水,而是比萨斜塔,是吧,人物的景别,手势啊,还有姿态啊,都没有变,脸也没有变,哎。所以可以用update的方式去更新字典项。那我能不能直接拿一个字典去更新一个字典,那我就得看看这个帮助文件了,在游乐场里面去喊救命,对谁喊,对字典的update去喊,喊救命里面的参数是E,这E呢,是一个可变利的对象。
05:00
那具体来说就可以是字典,比如说我这儿有一个第一字典1,它是什么?它是A对应的1。我还可以有一个第二,它是什么呢?它是B对应的2第一点update第二。是用第二去更新第一,结果第一就变了,第一不但有原来自己的那个字典项,还有一个新的字典项,那第二。加进去的那个东西呗。那这个是A,是AB是B,但如果两个都是A会怎么样?也就是说第一我是A对对应的1,但第二我是A对应的2,那这个时候我再用第二去更新第一会怎么样呢?第一已经变成2了,原来是多少?原来是1。那第二还是第二是吧,这就说明update用后边的这个参数去更新前面这个字典相当于什么?相当于我们把A1的字典项,第一的这个A的字典项直接设置成2了啊,是这么一个更新的过程,但是过程中肯定得破坏个字典,要么破坏第一,要么破坏第二,我想第一第二都保持原样,再做个新字典有没有可能呢?
06:13
还是茶帮助查完帮助我们可以看到这儿有个星星F,这个星星F是什么意思呢?这个星星指的是字典的解包,比如说我们说第一等于什么呢?第一等于这个A1,第二呢,等于B2 merge dict混合后的字典等于什么呢?大括号里面星星第一,还有一个星星第二,这个时候mege dit是谁呢?就是把第一和第二结合在一起,它既不会破坏第一,也不会破坏第二,它是新做了一个字典是吧?那你说这个里面没有重叠项,第一里有一个A,第二里面也有一个A,那么把这俩字典融合之后。
07:04
这个A是谁?这个A就是后边这个,因为你后边update的前面这个,所以后边这个,而且第一也不受影响,第二呃,第二也不受影响,是新字典生成了老字典不受影响,那我们用这个方法去做个新例子,说有个老字典是传统蒙娜丽莎,有个新字典叫这个新景碟,那什么是景碟,我们可以看到原来的景别是标准中景镜头。新的景碟是标准全景镜头,原来这个蒙娜丽莎是半身儿是吧?现在蒙娜丽丽莎有全身儿了,既然是全身儿,那就得有腿有脚,脚和腿怎么样呢?让他翘脚郎腿来,就这么待着,面部特征柔和,眼眉平缓,离我浅笑是吧?那那这个东西能运行出来吗?我们在这边运行一下,观察它,尝试运行,运行之后呢,我们得到了这么一个浅笑的蒙娜丽莎,基本上是可以的,就是它就凭着做,他就翘二郎腿,我还想改的更离谱一点儿,怎么离谱就不但是有这个基础的代码,还要怎么样?景别变了,面部特征也变了,刚才是离我浅笑,现在是什么?面目狰狞,眉眼愤怒,呲牙咧嘴是吧?愤怒的蒙娜丽莎是吧?急眼了,疯了,就变得很丑,面目狰狞的,所以我们平常也别老着急。因为1。
08:35
着急就一定会变丑啊,这种心态就会影响到这个相貌是吧。除了update可以更新字典项,还有什么其他东西也可以更新字典项吗?我们下次再说,OEZ交枪。
我来说两句