Imscaradh do Shamhail Foghlama Meaisín le Python

python
foghlaim meaisín
múnla ML
Imscaradh do Shamhail Foghlama Meaisín le Python cover image

Agus tú ag obair i réimse na heolaíochta sonraí, is gnách go mbíonn dúshlán nua le sárú agat tar éis duit lúb fhada oiliúna, mionchoigeartú agus feabhsú a dhéanamh. Comhghairdeas as múnla ML a thógáil a bhfuil dea-fheidhmíocht aige agus a fhreagraíonn do do chuid riachtanas. Anois is é an dúshlán atá romhat ná conas is féidir leat an píosa deas teicneolaíochta seo a sheachadadh do na húsáideoirí beartaithe? Nó b'fhéidir conas is féidir leat do thoradh a chur in iúl go héifeachtach le páirtithe leasmhara i do chuideachta? Nó fiú conas is féidir leat do thorthaí samhail a roinnt go héifeachtach le do chomhghleacaithe ar mhaithe le comhoibriú níos fearr?

Bíonn sé deacair in amanna meaisínfhoghlama a úsáid mar go mbeimid ag úsáid teicneolaíochtaí agus teicníochtaí as an ngnáthscileanna a theastaíonn chun na múnlaí a thógáil.

San Airteagal seo, beidh muid ag teacht ar bhealach chun samhlacha meaisínfhoghlama a úsáid ag baint úsáide as python amháin. Agus feadh na slí, tógfaimid múnla meaisínaistriúcháin agus leathanach gréasáin.

Mar sin, seo iad na céimeanna atá le feiceáil againn:

  1. Samhlacha aistriúcháin meaisín Huggingface a úsáid.

  2. Ag fáil amach Anvil agus ag tógáil Chomhéadain Gréasáin le haghaidh ár múnla.

  3. Inneall agus aghaidh a nascadh agus freastal ar ár gcuid oibre ar fud an domhain!

Tóg múnla Aistriú Meicniúla

Is pobal AI é Huggingface a oibríonn chun “dea-fhoghlaim meaisín a dhaonlathú”. Faoin tionscnamh seo, is féidir leat go leor samhlacha oilte a fháil ar tascanna éagsúla meaisínfhoghlama: deighilt íomhá, téacs go cainte, giniúint téacs… agus aistriúchán meaisín freisin!

Níl sa mheaisínaistriúchán ach tasc aistriúcháin idir dhá theanga a dhéanann píosa bogearraí, is é ár gcás féin, samhail meaisínfhoghlama a tógadh le claochladáin.

Is ailtireacht dhomhain foghlama é claochladán bunaithe ar aird. Lig dúinn é a reáchtáil ar do mheaisín!

Úsáidfimid claochladáin, leabharlann python chun an tsamhail MT a íoslódáil agus aistriúchán a dhéanamh.

pip install torch
pip install transformers

Tar éis na pacáistí riachtanacha a shuiteáil, iompórtáil na modúil seo a leanas:

from transformers import MarianTokenizer, MarianMTModel
from typing import List

Faighimis eiseamláir a aistríonn abairt ó Ghearmáinis go Béarla. Ní mór dúinn ainm an mhúnla:

src= "de"
trg= "en"
mname= f'Helsinki-NLP/opus-mt-{src}-{trg}'

Anois déanaimis an tsamhail oilte agus an tokenizer a allmhairiú ag baint úsáide as na línte seo a leanas:

model = MarianMTModel.from_pretrained(mname)
tok = MarianTokenizer.from_pretrained(mname)

Tá an méid íoslódála thart ar 300mb, tar éis críochnú is féidir leat an tsamhail a stóráil in eolaire áitiúil ag baint úsáide as an méid seo a leanas:

model.save_pretrained("./models/de_en/")
tok.save_pretrained("./models/de_en/tok")

Déanaimis an tsamhail:

text="ich habe keine ahnung"
gen = model.generate(**tok.prepare_seq2seq_batch(src_texts=[text], return_tensors="pt"))
words: List[str] = tok.batch_decode(gen, skip_special_tokens=True)
print(words[0])

Anois, ba chóir go mbeadh an t-aistriúchán Béarla den abairt stóráilte agat i focail[0].

Faigh amach Anvil agus tóg Chomhéadain Gréasáin

Is creat agus sraith réitigh é Anvil a ligeann duit feidhmchláir ghréasáin a chruthú ag baint úsáide as cód python amháin. Tá eagarthóir tarraingthe agus titeann aige chun Chomhéadain Gréasáin a thógáil agus ligeann sé duit an cód a nascadh ó do mheaisín áitiúil leis an Chomhéadain a thógann tú agus a dhéanann tú d'iarratas a óstáil trí nasc a thabhairt duit ar féidir leat a roinnt.

Mar sin, cuirimis tús le hiarratas a chruthú ó anseo. Roghnaigh feidhmchlár bán ansin dearadh ábhair.

Ba cheart duit rud éigin mar seo a fheiceáil:

Anvil

Anois beidh mé ag brath ort an t-eagarthóir a úsáid agus rud éigin cosúil leis an méid seo a leanas a thógáil:

Anvil Editor

San Chomhéadain shimplí seo, tá dhá DropDowns againn chun na teangacha foinse agus cinn scríbe a roghnú. Tá TextBox againn freisin chun an buntéacs a chur isteach agus comhpháirt richText chun an téacs aistrithe a thaispeáint. Is féidir leat Cnaipe a fheiceáil freisin chun tús a chur leis an tasc aistriúcháin.

Chun sioncrónú leis na gearrthóga cód a fheicfidh tú thíos, tabhair na haitheantais céanna do na comhpháirteanna. Anseo thíos gheobhaidh tú sampla inar féidir leat aitheantas comhpháirte a shocrú:

Anvil Editor Rename Component

Is iad na haitheantais atá á n-úsáid againn:

<tábla teorann="2">

Comhpháirt

ID

Teanga fhoinseach anuas source_lang Teanga ceann scríbe anuas dest_lang Teanga fhoinseach TextBox source_text Téacs aistrithe RichText translated_text

Feidhm chliceáil

Tá cnaipe curtha leis againn a úsáidtear chun an t-aistriúchán a thosú. Ó d’eagarthóir cliceáil ar an gcnaipe agus ansin scrollaigh síos sa phainéal airíonna. Ag bun an leathanaigh, feicfidh tú alt imeachtaí. Sa chrios téacs in aice le “cliceáil”, cuir isteach “Aistrigh” agus ansin cliceáil ar an tsaighead ar thaobh na láimhe deise den chrios téacs seo.

Tabharfaidh sé seo tú chuig an radharc cód áit a bhfeicfidh tú roinnt cód python uathghinte.

Gheobhaidh tú amach go bhfuil feidhm darb ainm translate curtha leis go huathoibríoch ag inneoin. Tabharfar glaoch air gach uair a chliceáiltear an cnaipe inár UI.

Seo an chuma ar cheart don fheidhm bheith:

def translate(self, **event_args):
 """This method is called when the button is clicked"""
 src_lang=self.source_lang.selected_value #get the selected source language
 dest_lang=self.dest_lang.selected_value #get the selected destination language
 text=self.source_text.text   #get the text written in source language
 #call the server function
 translated_text=anvil.server.call("translation",text,src_lang,dest_lang)
 #write the translated text to the UI
 self.translated_text.content=translated_text

Déanann an fheidhm seo 3 phríomhthasc:

  1. Faigh Faisnéise ón Chomhéadain

  2. Seol an fhaisnéis chuig ár n-inneall ag baint úsáide as “aistriúchán” feidhm an fhreastalaí (míneoimid é sa chéad chuid eile)

  3. Seol an téacs aistrithe chuig an Chomhéadain.

Feidhm an fhreastalaí

Dírímid ar an líne cód seo:

translated_text=anvil.server.call("translation",text,src_lang,dest_lang)

Bainimid úsáid as anvil.server.call chun glaoch ar fheidhm freastalaí ar a dtugtar aistriúchán a shaineoimid inár gcód inneall sa mheaisín áitiúil.

Feidhmeoidh an fheidhm seo mar nasc idir an Chomhéadain Gréasáin agus an cód Inneall a bheidh ar siúl ar ár múnla aistriúcháin meaisín.

Mar a thug tú faoi deara cuirimid paraiméadair na feidhme seo freisin san fheidhm anvil.server.call.

Imscaradh ár múnla MT

Déanaimis anvil a shuiteáil ar dtús

pip install anvil-uplink

Anois tá ár gcomhéadan gréasáin tógtha againn in eagarthóir inneoin agus tá bunbhloic chód againn chun ár múnla aistriúcháin meaisín a rith agus chun aistriúchán a dhéanamh.

Is é an chéad chéim eile ná an fheidhm fhreastalaí a phléigh muid san alt roimhe seo a shainiú.

Seo é cód na feidhme:

@anvil.server.callable
def translation(text,src,dest):
 lang_code={"English":"en",
       "German":"de",
       "French":"fr",
       "Spanish":"es"}
      model=MarianMTModel.from_pretrained("./models/"+lang_code[src]+"_"+lang_code[dest])
 tok=MarianTokenizer.from_pretrained("./models/"+lang_code[src]+"_"+lang_code[dest]+"/tok")
 gen = model.generate(**tok.prepare_seq2seq_batch(src_texts=[text], return_tensors="pt"))
 words: List[str] = tok.batch_decode(gen, skip_special_tokens=True)
 return words[0]

Tógfaidh an fheidhm na 3 pharaiméadar a sheoltar ón tosaigh, tiontaigh na teangacha foinse agus cinn scríbe go dtí na cóid teanga faoi seach agus ansin luchtófar na samhlacha agus ríomhfaidh sé an t-aistriúchán agus seolfaidh sé an toradh ar ais.

Is é an bealach chun an fheidhm seo a dhearbhú don inneagán mar fheidhm fhreastalaí ná úsáid a bhaint as an maisitheoir

@anvil.server.callable.

Tá céim dheireanach amháin le déanamh againn chun an cód inneall is féidir linn a rith i leabhar nótaí jupyter a nascadh lenár bhfeidhmchlár inneoin.

Téigh chuig eagarthóir ar líne anvil, cliceáil ar an deilbhín fearas, agus ansin cliceáil ar "Uplink…".

Féach ar an scáileán thíos

Anvil Editor Uplink

Feicfidh tú aníos le feiceáil, ansin cliceáil ar “Cumasaigh uplink freastalaí don aip seo” chun an cód ceangail a chóipeáil tú a fháil.

Anvil Uplink

Greamaíonn tú an cód isteach sa líne chóid seo a leanas:

anvil.server.connect("code here")

Tosóidh an líne seo freastalaí a nascann do script cód áitiúil nó do leabhar nótaí jupyter leis an bhfeidhmchlár inneoin leis an bhfeidhm aistriúchán atá cláraithe mar fheidhm fhreastalaí.

Céim dheiridh

Go dtí seo, tá do fhreastalaí inneall ag rith le feidhm fhreastalaí a lódálann múnla an mheaisínaistriúcháin agus a dhéanann an t-aistriúchán tar éis na paraiméadair a sheoltar ón aghaidh a chur san áireamh. Tugann an figiúr seo achoimre ar a bhfuil curtha i bhfeidhm againn le chéile go dtí seo.

Anvil Uplink

Céim dheireanach is ea an feidhmchlár a rith trí chliceáil ar an gcnaipe rith ar lár barr an eagarthóra inneoin.

Tar éis duit an feidhmchlár a fheiceann tú sa chúinne uachtarach ar dheis a rith, cnaipe “foilsigh an feidhmchlár seo” a thabharfaidh nasc duit is féidir leat a roinnt chun rochtain a fháil ar an bhfeidhmchlár agus d’aistriúchán a dhéanamh!

Conclúid

Trí an t-alt seo a leanúint bhí tú in ann samhail MT a imscaradh agus comhéadan gréasáin a thógáil chun é a úsáid.

Tá go leor le fáil amach go fóill faoi conas múnla a imscaradh go héifeachtach ag baint úsáide as inneoin ach anois tá na bunghnéithe agat chun tús a chur le do thuras imlonnaithe agus cur leis an bpoitéinseal atá agat roimh ré i Python chun i bhfad níos mó a dhéanamh!

Tar Chuig Ceann dár gCeardlanna Saor in Aisce

Cuir tús le do ghairm bheatha mar eolaí sonraí lenár ceardlanna saor in aisce, atá bunaithe ar churaclam inoiriúnaithe agus á threorú ag saineolaithe tionscail.


Career Services background pattern

Seirbhísí Gairme

Contact Section background image

Bígí i dteagmháil

Code Labs Academy © 2024 Gach ceart ar cosaint.