首页 >>  正文

在python中引用math库

来源:baiyundou.net   日期:2024-09-22

IT之家 9 月 8 日消息,Mojo 是 Modular AI 公司开发的一种编程语言,专门面向 AI  设计,号称比 Python 快 68000 倍

官方今日宣布,Mojo 现已开放本地下载运行,除了编译器之外,Mojo SDK 还包括一整套开发者和 IDE 工具,可以用于构建和迭代 Mojo 应用。

Modular AI 表示,自 5 月 2 日推出 Mojo 编程语言以来,已有超过 12 万开发者注册使用 Mojo Playground,超过 1.9 万开发者在 Discord 和 GitHub 上积极讨论 Mojo。

Mojo 现在可供本地下载,不过目前只有 Linux 系统版本,官方承诺会在即将发布的版本中添加 macOS 和 Windows 系统支持。

据介绍,Mojo 是一种用于计算的高性能“Python++”编程语言,面向 AI 开发人员推出,随着时间的推移,它将发展成为 Python 的超集。

目前,Mojo 已经支持与任意 Python 代码无缝集成,并具有可扩展的编程模型来针对性能关键型系统,包括人工智能中普遍存在的加速器(例如 GPU)。

此外,IT之家在博客中注意到,Mojo 号称将动态和静态语言的优点结合在一起,性能可达到目前 Python 的 68,000 倍,还提供与 Python 生态系统的完全互操作性,从而可以无缝使用 Python 库

以下为使用 Mojo 计算欧几里得距离的代码:

$ mojo\nWelcome to Mojo! ????\nExpressions are delimited by a blank line.\nType `:mojo help` for further assistance.\n1> %%python\n2. import numpy as np\n3. n = 10000000\n4. anp = np.random.rand(n)\n5. bnp = np.random.rand(n)\n\n6> from tensor import Tensor\n7. let n: Int = 10000000\n8. var a = Tensor[DType.float64](n)\n9. var b = Tensor[DType.float64](n)\n10. for i in range(n):\n11.    a[i] = anp[i].to_float64()\n12.    b[i] = bnp[i].to_float64()\n\n13> from math import sqrt\n14. def mojo_naive_dist(a: Tensor[DType.float64], b: Tensor[DType.float64]) -> Float64:\n15.    var s: Float64 = 0.0\n16.    n = a.num_elements()\n17.    for i in range(n):\n18.       dist = a[i] - b[i]\n19.       s += dist*dist\n20.    return sqrt(s)\n\n23> fn mojo_fn_dist(a: Tensor[DType.float64], b: Tensor[DType.float64]) -> Float64:\n24.    var s: Float64 = 0.0\n25.    let n = a.num_elements()\n26.    for i in range(n):\n27.       let dist = a[i] - b[i]\n28.       s += dist*dist\n29.    return sqrt(s)\n30.\n31> let naive_dist = mojo_naive_dist(a, b)\n32. let fn_dist = mojo_fn_dist(a, b)\n33. print(fn_dist)\n34. \n1290.821425092235\n35. print(naive_dist)\n36. 1290.8521425092235

此外,Mojo 允许开发者构建静态编译的可执行文件,可以在没有任何依赖项的情况下进行部署,例如:

$ mojo build hello.????\n\n$ ./hello\nHello Mojo ????!\n9\n6\n3\n\n$ ls -lGtranh hello*\n-rw-r--r-- 1 0   817 Sep  3 23:59 hello.????\n-rwxr-xr-x 1 0   22K Sep  3 23:59 hello

Mojo 还拥有 Visual Studio Marketplace 的官方扩展,支持语法高亮、语句诊断、格式化、补全建议等。

","gnid":"97a79be1236d188b7","img_data":[{"flag":2,"img":[{"desc":"","height":"842","title":"","url":"https://p0.ssl.img.360kuai.com/t0199165f5f23e498b7.jpg","width":"738"},{"desc":"","height":"423","title":"","url":"https://p0.ssl.img.360kuai.com/t011e1dab01dfa488fe.jpg","width":"854"},{"desc":"","height":"761","title":"","url":"https://p0.ssl.img.360kuai.com/t01741c9a7277274100.jpg","width":"1440"},{"desc":"","height":"500","title":"","url":"https://p0.ssl.img.360kuai.com/t011dc82670b65f51e7.jpg","width":"1015"},{"desc":"","height":"709","title":"","url":"https://p0.ssl.img.360kuai.com/t01426ccb8d76ba830b.jpg","width":"923"},{"desc":"","height":"435","title":"","url":"https://p0.ssl.img.360kuai.com/t0150d95011ea636bfc.jpg","width":"941"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"cache","pub_time":1694162324000,"pure":"","rawurl":"http://zm.news.so.com/3d26ff9eac10615769d3a32b8bba5960","redirect":0,"rptid":"0c8c5b6dd0b5e5bc","rss_ext":[],"s":"t","src":"IT之家","tag":[],"title":"Mojo 编程语言发布:专为 AI 设计,号称比 Python 快 68000 倍

裴蒲服4077如何让python调用C和C++代码 -
关壮泪17630148107 ______ 如何让python调用C和C++代码 安装python后,会有一个chm格式的python手册.要搞明白如何让python调用C/C++代码(也就是写python的 extension),你需要征服手册中的 <<Extending && embedding>>厚厚的一章.在昨天花了一个小时看...

裴蒲服4077matlab中怎么调用python,python计算结果再返回matlab? -
关壮泪17630148107 ______ 全部用文件IO的话可以这样:matlab把所有参数输出到一个文件里,然后用system命令调python脚本.python脚本读文件做计算结果再写文件.最后matlab再读文件得到结果.假设python脚本的用法是:python xxx.py in.txt out.txt 则matlab调用命令为:[status, cmdout] = system('python xxx.py in.txt out.txt') 另外,可以把参数用python命令行参数的方式传入,然后从cmdout(也就是命令行的标准输出)获取返回值.题主研究好文件IO的方法再来看这一种.

裴蒲服4077Python里面的函数怎么按引用传递参数 -
关壮泪17630148107 ______ 对象是传引用.单个数值传值.

裴蒲服4077怎么样理解一个python项目的各种文件 -
关壮泪17630148107 ______ 在Python 中引用是非常简单的事情,这里需要清楚三个概念就可以了包、模块、类.类这个就不用说了. 模块对应的是一个.py 文件,那么module_name 就是这个文件去掉.py 之后的文件名,py 文件中可以直接定义一些变量、函数、类. 那么...

裴蒲服4077python 在命令窗口中输入没问题,在脚本中出错 -
关壮泪17630148107 ______ shelve是一个对象持久化保存方法,将对象保存到文件里面,一般来说对象的保存和恢复都是通过shelve来进行的. 你的问题是test.txt已经存在,并且格式与shelve不符,所以提示 "db type could not be determined" 解决方法: 删除/home/luo/...

裴蒲服4077在python中使用import调用模块.
关壮泪17630148107 ______ 比如你一开始用的: import modulename 如果修改的话,要这样: reload(modulename)

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024