Files
bark-with-voice-clone/bark/__pycache__/model.cpython-38.pyc

64 lines
6.3 KiB
Plaintext
Raw Normal View History

2023-04-09 13:21:02 -04:00
U
<00>p0d\<00>@s<>dZddlZddlmZddlZddlmZddlmZGdd<06>dej <09>Z
Gdd<08>dej <09>Z Gd d
<EFBFBD>d
ej <09>Z Gd d <0C>d ej <09>Z eGd d<0E>d<0E><02>ZGdd<10>dej <09>ZdS)zc
Much of this code is adapted from Andrej Karpathy's NanoGPT
(https://github.com/karpathy/nanoGPT)
<EFBFBD>N)<01> dataclass)<01>
functionalcs(eZdZdZ<03>fdd<03>Zdd<05>Z<05>ZS)<06> LayerNormzP LayerNorm but with an optional bias. PyTorch doesn't support simply bias=False cs:t<00><00><01>t<02>t<04>|<01><01>|_|r0t<02>t<04>|<01><01>nd|_dS<00>N) <09>super<65>__init__<5F>nn<6E> Parameter<65>torch<63>ones<65>weight<68>zeros<6F>bias)<03>self<6C>ndimr<00><01> __class__<5F><00>$/Users/georg/code/bark/bark/model.pyrs
zLayerNorm.__init__cCst<00>||jj|j|jd<01>S)Ng<4E>h㈵<68><E388B5>>)<05>F<>
layer_normr <00>shaper)r<00>inputrrr<00>forwardszLayerNorm.forward)<07>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rr<00> __classcell__rrrrr s rcs$eZdZ<02>fdd<02>Zdd<04>Z<04>ZS)<05>CausalSelfAttentionc s<>t<00><00><01>|j|jdkst<04>tj|jd|j|jd<03>|_tj|j|j|jd<03>|_ t<05>
|j <0B>|_ t<05>
|j <0B>|_ |j|_|j|_|j |_ ttjjd<04>|_|js<>|<00>dt<0F>t<0F>|j|j<15><02><01>dd|j|j<15><04>dS)Nr<00><00>r<00>scaled_dot_product_attentionr<00>)rr<00>n_embd<62>n_head<61>AssertionErrorr<00>Linearr<00>c_attn<74>c_proj<6F>Dropout<75>dropout<75> attn_dropout<75> resid_dropout<75>hasattrr
r<00>flash<73>register_buffer<65>trilr <00>
block_size<EFBFBD>view<65>r<00>configrrrrs"
<04>zCausalSelfAttention.__init__c
CsR|<01><00>\}}}|<00>|<01>j|jdd<02>\}}}|<06>|||j||j<00><04>dd<01>}|<05>|||j||j<00><04>dd<01>}|<07>|||j||j<00><04>dd<01>}|jr<>tj j
j |||d|j dd<05>}nv||<06>dd<07>dt <0A>|<06>d<07><01>} | <09>|jdd<00>dd<00>d|<03>d|<03>fd ktd
<EFBFBD><01>} tj| dd<02>} |<00>| <09>} | |}|<08>dd<01><02><15><00>|||<04>}|<00>|<00>|<08><01>}|S) N<><00><01>dimr#T)<03> attn_mask<73> dropout_p<5F> is_causal<61><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>g<00>?rz-inf)<18>sizer(<00>splitr$r3r%<00> transposer/r
rrr"r+<00>math<74>sqrt<72> masked_fillr<00>floatr<00>softmaxr,<00>
contiguousr-r))
r<00>x<>B<>T<>C<>q<>k<>v<>yZattrrrr.s   $2
zCausalSelfAttention.forward<72>rrrrrrrrrrrs rcs$eZdZ<02>fdd<02>Zdd<04>Z<04>ZS)<05>MLPcs^t<00><00><01>tj|jd|j|jd<02>|_tjd|j|j|jd<02>|_t<02>|j <09>|_ t<02>
<EFBFBD>|_ dS)N<>r!) rrrr'r$r<00>c_fcr)r*r+<00>GELU<4C>gelur4rrrrJs

z MLP.__init__cCs,|<00>|<01>}|<00>|<01>}|<00>|<01>}|<00>|<01>}|Sr)rRrTr)r+<00>rrGrrrrQs




z MLP.forwardrOrrrrrPHs rPcs$eZdZ<02>fdd<02>Zdd<04>Z<04>ZS)<05>BlockcsLt<00><00><01>t|j|jd<01>|_t|<01>|_t|j|jd<01>|_t |<01>|_
||_ dS)Nr!) rrrr$r<00>ln_1r<00>attn<74>ln_2rP<00>mlp<6C> layer_idx)rr5r[rrrrZs 


zBlock.__init__cCs,||<00>|<00>|<01><01>}||<00>|<00>|<01><01>}|Sr)rXrWrZrYrUrrrrbsz Block.forwardrOrrrrrVXs rVc@sneZdZUdZeed<dZeed<dZeed<dZeed<dZ eed<d Z
eed
<d Z e ed <d Z eed<dS)<10> GPTConfigir2i@'<00>input_vocab_size<7A>output_vocab_size<7A> <00>n_layerr%ir$gr+TrN)rrrr2<00>int<6E>__annotations__r]r^r`r%r$r+rDr<00>boolrrrrr\gs
       r\cs0eZdZ<02>fdd<02>Zd dd<05>Zd
dd<08>Z<05>ZS) <0B>GPTc s<>t<00><00><01><00>jdk st<03><01>jdk s&t<03><01>jdk s4t<03><01>|_t<07>t t<07>
<EFBFBD>j<02>j <0B>t<07>
<EFBFBD>j<05>j <0B>t<07> <0C>j <0A>t<07><0E>fdd<02>t<0F>j<10>D<00><01>t<11>j <0B>jd<03>d<04><05>|_tj<14>j <0B>jdd<03>|_dS)Ncsg|]}t<00>|<01><02>qSr)rV)<02>.0<EFBFBD>idx<64>r5rr<00>
<listcomp>sz GPT.__init__.<locals>.<listcomp>r!)<05>wte<74>wpe<70>drop<6F>h<>ln_fF)rrr]r&r^r2r5r<00>
ModuleDict<EFBFBD>dict<63> Embeddingr$r*r+<00>
ModuleList<EFBFBD>ranger`rr<00> transformerr'<00>lm_headr4rrgrrts

<0E>
z GPT.__init__TcCsBtdd<02>|<00><01>D<00><01>}|r>||jjj<04><05>8}||jjj<04><05>8}|S)a8
Return the number of parameters in the model.
For non-embedding count (default), the position embeddings get subtracted.
The token embeddings would too, except due to the parameter sharing these
params are actually used as weights in the final layer, so we include them.
css|]}|<01><00>VqdSr)<01>numel)re<00>prrr<00> <genexpr><3E>sz%GPT.get_num_params.<locals>.<genexpr>)<07>sum<75>
parametersrsrir rurj)rZ non_embedding<6E>n_paramsrrr<00>get_num_params<6D>s
zGPT.get_num_paramsFc CsH|j}|<01><01>\}}|r8|jddks(t<03>|jdd}n$||jjks\td|<05>d|jj<05><00><04><01>|r<>tj|j<08> |dd<00>dd<03>f<00>|j<08> |dd<00>dd<06>f<00>|j<08> |dd<00>dd<00>f<00>gdd<07>}n |j<08> |<01>}tj
d|tj |d <09><04> d<08>}|j<08> |<07>}|j<08>||<00>} |jjD]}
|
| <09>} <09>q
|j<08>| <09>} |<00>| dd<00>d
gdd<00>f<00>} | S) Nr#i<00>z"Cannot forward sequence of length z, block size is only ir7r)<02>dtype<70>devicer=)r~r>rr&r5r2r
<00>catrsri<00>arange<67>long<6E> unsqueezerjrkrlrmrt) rrf<00> merge_contextr~<00>b<>tZtok_emb<6D>pos<6F>pos_embrG<00>block<63>logitsrrrr<00>s, $6<1A><02>     z GPT.forward)T)F)rrrrr{rrrrrrrdrs 
rd)rrA<00> dataclassesrr
<00>torch.nnrrr<00>ModulerrrPrVr\rdrrrr<00><module>s    1