1.Apple M1的编编译AI环境搭建
2.在Apple Silicon(ARM) Mac上使用 x86 conda 环境
3.MacBook Pro (M1 Pro芯片)使用安卓USB共享上网
4.kafka源码阅读之MacBook Pro M1搭建Kafka2.7版本源码运行环境
5.M1 源码安装fastText的坎坷之路
6.MacBook(m1)源码编译opencv
Apple M1的AI环境搭建
首先,搭建Apple M1的译安AI环境,Python3.9作为基础,卓源考虑到M1的软件ARM架构,Anaconda不再适用,编编译转而选择Miniforge3。译安源码和普通代码必需的卓源库有Tensorflow、xgboost、软件Lightgbm、编编译Numpy、译安Pandas、卓源Matplotlib和NGBoost等。软件由于是编编译Python3.9,部分库可能无法正常使用。译安
Homebrew,卓源作为Mac的包管理工具,对于ARM架构的支持已经到位。如果有X版本的Homebrew,需先卸载,然后通过Homebrew的ARM版本进行安装。安装后,Homebrew会提示设置环境变量,推荐执行相应操作以确保环境配置。
在bash shell下,记得source ~/.zprofile。对于X版本的winehq 源码编译安装Homebrew,虽然安装后未提示添加环境变量,但同样需要手动管理。
为了优化软件源,可以考虑设置中科大源或清华大学源,如果需要更多选择,可以查看Homebrew的其他设置。对于cask,由于GitHub API访问限制,可能需要申请Api Token。
接下来,下载并安装Miniforge3的arm版本,安装过程中会询问是否添加conda init到~/.zshrc。安装完成后,可以创建一个专为Tensorflow学习的虚拟环境。
Tensorflow的安装方式有两种,一是默认安装,Apple已优化支持;二是通过environment.yml预先配置。在tf环境内,可以测试安装是否成功。
对于Lightgbm,编译安装是较为可靠的方法,通过brew安装并设置编译环境。至于Numpy,通常会在Tensorflow安装时自动安装,其他库如Pandas、windows.h 源码Matplotlib和NGBoost,可以通过conda或pip进行安装。
注意,可能遇到的库问题,如OpenCV、Dlib等,需自行下载源码编译。在整个过程中,遇到问题时,Google搜索和官方文档是不可或缺的参考资源。
最后,值得注意的是相关教程和指南,如TensorFlow-macos、Run xgboost on Mac、加速Mac上的TensorFlow性能等,这些都能提供具体步骤和帮助,确保在M1芯片Mac上顺利搭建AI环境。
在Apple Silicon(ARM) Mac上使用 x conda 环境
在Apple Silicon Mac上使用x conda环境的教程。
新推出的Apple Silicon Mac配备了自家的M1芯片,与传统的Intel芯片版本相比,新款Mac在续航、散热和性能方面实现了显著提升。然而,由于M系列芯片采用ARM架构而非x架构,导致基于Intel芯片生态的spring入门经典源码程序在Mac上面临兼容性问题。苹果推出了Rosetta 2转译器,虽然在一定程度上牺牲了性能,但仍确保了先前的应用程序在新一代M系列芯片Mac上运行。对于科研用户来说,尽管面临性能损失,但Mac的卓越表现还是吸引了他们。近期,Python 3.9及更新版本以及常用库如numpy加入了对ARM原生支持,conda也推出了ARM版本,这使得用户可以方便地安装和管理各种基于ARM的库,并享受原生运行带来的极高效率。
然而,对于许多第三方库,由于维护更新和适配原因,它们并未加入对原生ARM的支持。例如,宇宙学领域常用的数据分析库nbodykit,就可能遇到找不到所需库或安装失败的问题。对于熟悉Python编程但不懂编译原理的用户来说,直接从源码编译这些库可能显得束手无策。
为了解决这一问题,可以通过以下步骤在ARM芯片的Mac上运行x的conda环境。首先,安装miniconda,可以使用官方文档提供的订单监控软件源码ARM/x的miniconda安装文件。接下来,通过简单命令创建一个名为x_env的3.版本的Python虚拟环境,并安装必要的库,如numpy和jupyter。这样,用户可以在ARM架构下运行原生的conda环境。
性能对比显示,ARM原生运行的numpy相较于转译版本的性能表现在2倍以上。通过比较,用户可以清楚地看到原生ARM架构的优势。
对于已经安装了x版本miniconda的用户,可以通过反向操作在现有环境上创建ARM架构的虚拟环境。这通常适用于早期M1 Mac用户。具体操作是将miniconda安装文件名从Miniconda3-latest-MacOSX-arm.sh更改为Miniconda3-latest-MacOSX-x_.sh,然后创建ARM架构的虚拟环境。
总结,本教程详细介绍了如何在搭载M系列芯片的Mac上搭建x和ARM架构的Python虚拟环境。对于将Python作为生产工具的科研用户,特别是那些不愿涉及编译细节,又希望同时享受ARM原生高性能和x卓越兼容性的用户,本教程提供了实用的解决方案。随着Windows on ARM领域的发展,期待针对Python及其conda环境管理器的解决方案在更多平台上得到实现,让更多用户体验到ARM原生Python带来的卓越性能和节能优势。
MacBook Pro (M1 Pro芯片)使用安卓USB共享上网
为MacBook Pro (M1 Pro芯片) 设立安卓USB共享上网,先进行SIP设置。
第一步,设置SIP(系统完整性保护)。确保MacOS系统允许修改内核扩展,这将允许HoRNDIS插件运行。
第二步,安装HoRNDIS扩展插件。此插件有助于实现USB设备与MacOS的兼容性,但因其编译过程可能较复杂,可先尝试使用预先编译好的版本,以减少潜在的兼容性问题。环境为MacBook Pro (M1 Pro)运行的.2.1版本操作系统。
如预先编译的插件无法使用,需自行进行编译。这要求具备一定的系统开发知识,包括理解如何操作构建环境和遵循相关源代码指引。自行编译过程可能较为耗时,且需要解决潜在的编译问题,如兼容性、依赖库问题等。
完成上述步骤后,MacBook Pro (M1 Pro芯片) 将成功支持通过USB连接的安卓设备进行共享上网。这为用户提供了一种灵活的上网方式,无需依赖无线网络或有线连接,只需通过USB线缆连接安卓设备即可享受稳定的互联网接入。
kafka源码阅读之MacBook Pro M1搭建Kafka2.7版本源码运行环境
在探索Kafka源码的过程中,决定搭建本地环境进行实际运行,以辅助理解和注释。由于日常开发中常使用Kafka 2.7版本,选择了在MacBook Pro M1笔记本上搭建此版本的源码环境。搭建过程中,记录了遇到的障碍,方便未来再次搭建时不必从头开始。 搭建Kafka 2.7源码环境需要准备以下基础环境:一、Zulu JDK1.8
在MacBook Pro M1笔记本上,基本都已安装JDK,版本不同而已。使用的是Zulu JDK1.8版本,通过下载.dmg格式的一键安装,环境自动配置,安装路径通常在 /Library/Java/JavaVirtualMachines。二、Scala 2..1
并未在系统里安装Scala,而是直接利用IDEA。按照Preferences -> Plugins -> Scala安装。选择IDEA的不同Scala JDK版本。三、安装Gradle6.6
通过官网gradle.org/releases/下载Gradle6.6版本。如国内下载速度较慢,可直接从百度网盘下载安装包。安装完成后,解压并放置在目录/Users/helloword/software/gradle-6.6,通过mac终端执行指令配置环境。四、Zookeeper3.4.6安装
直接从百度网盘下载zookeeper-3.4.6.tar.gz包,解压后放置在三台机器的/app目录下。在每个目录中创建data子目录,并建立myid文件,按照特定数字填写。在zoo.cfg文件中进行配置并复制至其他机器。五、Kafka2.7源码部署
从官网下载Kafka 2.7源码,或从百度网盘获取。解压至目录/Users/helloword/software/kafka/kafka-2.7.0-src,并通过Gradle构建环境。在mac终端执行指令,生成gradle-wrapper.jar,配置依赖。将源码导入IDEA,加载Gradle构建的项目。六、源码运行
确保源码运行打印日志,需将log4j.properties复制到core的 resources目录,并在build.gradle中添加log4配置。修改config/server.properties配置,包括zookeeper路径和broker的ip。配置server、consumer、producer三个进程,确保Kafka服务、消费者和生产者能够正常工作。 整个Kafka 2.7版本源码的本地搭建步骤完成。后续计划撰写系列文章总结阅读源码的经验。关注公众号写代码的朱季谦,获取更多分类归纳的博客。M1 源码安装fastText的坎坷之路
在尝试在M1芯片上安装fastText时,用户可能会遇到一些报错。首先,遇到与'-'march=native'相关的错误时,解决方案是将该参数改为'-'mcpu=apple-m1'。这是因为M1芯片的clang编译器支持的CPU类型有限,不适用原生参数。 第二个挑战是版本问题。确保你的fastText版本已针对M1芯片进行了适当的调整,具体版本信息如图所示,这对于顺利安装至关重要。 权限问题也可能阻碍安装过程。解决方法是通过长按电源键启动命令行工具,然后输入特定命令以获取必要的权限。具体步骤如下:长按电源键,打开命令行工具
执行相应的命令后,重启设备
重启完毕后,打开终端并输入必要的安装命令
按照这些步骤操作后,你应该能够成功编译fastText,完成在M1芯片上的安装过程。MacBook(m1)源码编译opencv
首先,从GitHub上获取OpenCV的源代码是实现MacBook (m1)本地编译的关键步骤。你可以通过运行以下命令来拉取最新版本:
bash
git clone /opencvopencv.git
如果你想锁定特定的版本,比如2.1分支,可以使用如下命令替换`[tag_name]`为实际的版本号:
bash
git clone --branch [tag_name] /opencvopencv.git
接下来,为了进行编译,你需要准备一个专门的构建目录,这可以通过以下命令创建:
bash
mkdir opencv_build
cd opencv_build
然后,运行CMake来配置编译环境:
bash
cmake ..
配置完成后,开始编译安装过程:
bash
make
sudo make install
整个过程涉及到了从GitHub获取源代码、创建编译目录、配置CMake并执行编译和安装。最后,务必确认你的目录结构包括了源代码、构建目录以及安装后的文件。