{"id":"https://openalex.org/W2152175008","doi":"https://doi.org/10.25080/majora-92bf1922-003","title":"Theano: A CPU and GPU Math Compiler in Python","display_name":"Theano: A CPU and GPU Math Compiler in Python","publication_year":2010,"publication_date":"2010-01-01","ids":{"openalex":"https://openalex.org/W2152175008","doi":"https://doi.org/10.25080/majora-92bf1922-003","mag":"2152175008"},"language":"en","primary_location":{"id":"doi:10.25080/majora-92bf1922-003","is_oa":true,"landing_page_url":"https://doi.org/10.25080/majora-92bf1922-003","pdf_url":"http://conference.scipy.org/proceedings/scipy2010/pdfs/bergstra.pdf","source":{"id":"https://openalex.org/S4220651651","display_name":"Proceedings of the Python in Science Conferences","issn_l":"2575-9752","issn":["2575-9752"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Python in Science Conference","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"http://conference.scipy.org/proceedings/scipy2010/pdfs/bergstra.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5057264590","display_name":"James Bergstra","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":true,"raw_author_name":"James Bergstra","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079923776","display_name":"Olivier Breuleux","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Olivier Breuleux","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5073544973","display_name":"Fr\u00e9d\u00e9ric Bastien","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Fr\u00e9d\u00e9ric Bastien","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033938098","display_name":"Pascal Lamblin","orcid":"https://orcid.org/0009-0009-9746-2001"},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Pascal Lamblin","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5043910056","display_name":"Razvan Pascanu","orcid":"https://orcid.org/0000-0002-5470-1238"},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Razvan Pascanu","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089648583","display_name":"Guillaume Desjardins","orcid":"https://orcid.org/0000-0002-5669-6671"},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Guillaume Desjardins","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5072002276","display_name":"Joseph Turian","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Joseph Turian","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5085746798","display_name":"David Warde-Farley","orcid":null},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"David Warde-Farley","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5086198262","display_name":"Yoshua Bengio","orcid":"https://orcid.org/0000-0002-9322-3515"},"institutions":[{"id":"https://openalex.org/I70931966","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34","country_code":"CA","type":"education","lineage":["https://openalex.org/I70931966"]}],"countries":["CA"],"is_corresponding":false,"raw_author_name":"Yoshua Bengio","raw_affiliation_strings":["Universit\u00e9 de Montr\u00e9al"],"affiliations":[{"raw_affiliation_string":"Universit\u00e9 de Montr\u00e9al","institution_ids":["https://openalex.org/I70931966"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":9,"corresponding_author_ids":["https://openalex.org/A5057264590"],"corresponding_institution_ids":["https://openalex.org/I70931966"],"apc_list":null,"apc_paid":null,"fwci":11.6156,"has_fulltext":false,"cited_by_count":1057,"citation_normalized_percentile":{"value":0.98994789,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":99,"max":100},"biblio":{"volume":null,"issue":null,"first_page":"18","last_page":"24"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":0.9966999888420105,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11697","display_name":"Numerical Methods and Algorithms","score":0.9966999888420105,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9962000250816345,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13650","display_name":"Computational Physics and Python Applications","score":0.9921000003814697,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8734502196311951},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8367320895195007},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.763934850692749},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7148071527481079},{"id":"https://openalex.org/keywords/cuda","display_name":"CUDA","score":0.6632096171379089},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.631167471408844},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.5449867844581604},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.48792001605033875},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.4137771725654602},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.13030153512954712}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8734502196311951},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8367320895195007},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.763934850692749},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7148071527481079},{"id":"https://openalex.org/C2778119891","wikidata":"https://www.wikidata.org/wiki/Q477690","display_name":"CUDA","level":2,"score":0.6632096171379089},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.631167471408844},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.5449867844581604},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.48792001605033875},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.4137771725654602},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.13030153512954712}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.25080/majora-92bf1922-003","is_oa":true,"landing_page_url":"https://doi.org/10.25080/majora-92bf1922-003","pdf_url":"http://conference.scipy.org/proceedings/scipy2010/pdfs/bergstra.pdf","source":{"id":"https://openalex.org/S4220651651","display_name":"Proceedings of the Python in Science Conferences","issn_l":"2575-9752","issn":["2575-9752"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Python in Science Conference","raw_type":"proceedings-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.691.4524","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.691.4524","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.iro.umontreal.ca/%7Elisa/pointeurs/theano_scipy2010.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.25080/majora-92bf1922-003","is_oa":true,"landing_page_url":"https://doi.org/10.25080/majora-92bf1922-003","pdf_url":"http://conference.scipy.org/proceedings/scipy2010/pdfs/bergstra.pdf","source":{"id":"https://openalex.org/S4220651651","display_name":"Proceedings of the Python in Science Conferences","issn_l":"2575-9752","issn":["2575-9752"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Python in Science Conference","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[{"id":"https://openalex.org/F4320309949","display_name":"Canadian Institute for Advanced Research","ror":"https://ror.org/01sdtdd95"},{"id":"https://openalex.org/F4320323175","display_name":"Universit\u00e9 de Montr\u00e9al","ror":"https://ror.org/0161xgx34"},{"id":"https://openalex.org/F4320334593","display_name":"Natural Sciences and Engineering Research Council of Canada","ror":"https://ror.org/01h531d29"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2152175008.pdf","grobid_xml":"https://content.openalex.org/works/W2152175008.grobid-xml"},"referenced_works_count":4,"referenced_works":["https://openalex.org/W1568229137","https://openalex.org/W2015605031","https://openalex.org/W2064018809","https://openalex.org/W2110114082"],"related_works":["https://openalex.org/W4399354997","https://openalex.org/W3062287","https://openalex.org/W3153841236","https://openalex.org/W3195007140","https://openalex.org/W4392265893","https://openalex.org/W4377865294","https://openalex.org/W2039690203","https://openalex.org/W3207171446","https://openalex.org/W2924022660","https://openalex.org/W2067575922"],"abstract_inverted_index":{"Abstract\u2014Theano":[0],"is":[1],"a":[2,30],"compiler":[3],"for":[4,72,110,123],"mathematical":[5,27],"expressions":[6,28,50],"in":[7,29],"Python":[8,79],"that":[9,33],"combines":[10],"the":[11,17,62,111,124,134,137],"convenience":[12],"of":[13,19,64,136],"NumPy\u2019s":[14,35],"syntax":[15,36],"with":[16,88,103],"speed":[18],"optimized":[20],"native":[21],"machine":[22,84],"language.":[23],"The":[24],"user":[25],"composes":[26],"high-level":[31],"description":[32],"mimics":[34],"and":[37,43,106,113,117,144,147],"semantics,":[38],"while":[39],"being":[40],"statically":[41],"typed":[42],"functional":[44],"(as":[45],"opposed":[46],"to":[47,53,94,130],"imperative).":[48],"These":[49],"allow":[51],"Theano":[52,60,89],"provide":[54],"symbolic":[55],"differentiation.":[56],"Before":[57],"performing":[58],"computation,":[59],"optimizes":[61],"choice":[63],"expressions,":[65],"translates":[66],"them":[67,75],"into":[68,76],"C++":[69],"(or":[70],"CUDA":[71],"GPU),":[73],"compiles":[74],"dynamically":[77],"loaded":[78],"modules,":[80],"all":[81],"automatically.":[82],"Common":[83],"learn-ing":[85],"algorithms":[86],"implemented":[87,102],"are":[90],"from":[91],"1.6":[92],"\u00d7":[93,116,119],"7.5\u00d7":[95],"faster":[96,120],"than":[97],"competitive":[98],"alternatives":[99],"(including":[100],"those":[101],"C/C++,":[104],"NumPy/SciPy":[105],"MATLAB)":[107],"when":[108,121],"compiled":[109,122],"CPU":[112,143],"between":[114],"6.5":[115],"44":[118],"GPU.":[125],"This":[126],"paper":[127],"illustrates":[128],"how":[129],"use":[131],"Theano,":[132],"outlines":[133],"scope":[135],"compiler,":[138],"provides":[139],"benchmarks":[140],"on":[141],"both":[142],"GPU":[145],"processors,":[146],"explains":[148],"its":[149],"overall":[150],"design.":[151]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":12},{"year":2024,"cited_by_count":13},{"year":2023,"cited_by_count":30},{"year":2022,"cited_by_count":27},{"year":2021,"cited_by_count":48},{"year":2020,"cited_by_count":66},{"year":2019,"cited_by_count":90},{"year":2018,"cited_by_count":156},{"year":2017,"cited_by_count":214},{"year":2016,"cited_by_count":193},{"year":2015,"cited_by_count":116},{"year":2014,"cited_by_count":56},{"year":2013,"cited_by_count":21},{"year":2012,"cited_by_count":9}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
