AlphaGeometry模型安装

目录

  • 一、安装准备
  • 二、安装步骤
  • 三、运行前的一些其他东西
  • 四、运行

github地址https://github.com/google-deepmind/alphageometry
本文主要介绍如何在MacOS上安装
MacOS版本:12.07

一、安装准备

  • 一台电脑 (这是废话)
  • Python3.10.9(这是README.md里面要求的),已经配置好环境变量,(建议)换到国内源,不要用brew安装
  • pip安装virtualenv (如果不想用虚拟环境可以跳过)
  • git

二、安装步骤

如果不想看介绍,可以直接复制代码块里面的内容~
首先把文件下载一下
在终端里面输入(安装过程尽量使用同一个终端界面)
bash(之后没有特殊说明,全是bash)

git clone https://github.com/google-deepmind/alphageometry.git

如果没有成功,请自己百度

然后我们进入文件夹

cd alphageometry

文件夹里面有一个README.md
打开它我们发现可以这样安装

bash run.sh

不出意外的话是装不了的
于是直接打开run.sh
我们一条一条运行

set -e
set -x

这两行没太大用处,不输也没事
我们直接看下面一行

virtualenv -p python3 .

这一步是在当前文件夹创建虚拟环境,注意不要忘了后面的.

source ./bin/activate

这一步是激活虚拟环境
注意:如果安装过程中关闭了终端,重新打开时要再输一遍
激活之后命令行前面会带上一个(alphageometry)标志

pip install --require-hashes -r requirements.txt

这里是第一个可能出问题的地方
如果用原来的源安装,速度会非常慢且容易报错
如果用国内(这里我用的清华源,其他的不清楚)的,会在requirements.txt的一千多行报错(其实是找不到seqio-nightlytfds-nightly这两个东西,好像只有pypi.org上有)
我用的是下面这个繁琐的方法

  1. 首先安装tensorflow
pip install tensorflow==2.13.0

因为如果直接进行下一步的话,tensorflow会从pypi.org上下载,会报错(timeout)

  1. 然后从pypi.org上下载seqio-nightlytfds-nightly
pip install seqio-nightly==0.0.17.dev20231013 tfds-nightly==4.9.2.dev202308090034 -i https://pypi.org/simple

这一步会非常慢(2h左右),中间会出现一些抽象的东西(比如把scipy>=9.0.0的版本全下一遍)

  1. 最后终于可以安装了
pip install --require-hashes -r requirements.txt

这一步大概要一个小时
安装完后会有一个报错信息(tensorflow的版本有问题),不用管它

gdown --folder https://bit.ly/alphageometry

这是第二个出问题的地方
这个网址指向Google Drive,不出意外的话是无法连接的
可以考虑到网上找人代下
总共3个文件,不到1.5个G
把这三个文件拷贝到alphageometry文件夹下的ag_ckpt_vocab文件夹里

DATA=ag_ckpt_vocab
MELIAD_PATH=meliad_lib/meliad

这两行是设置变量的,安装过程中不需要

mkdir -p $MELIAD_PATH

创建meliad的文件夹
因为刚才没有设置MELIAD_PATH,我们把它改一下

mkdir -p meliad_lib/meliad

git clone https://github.com/google-research/meliad $MELIAD_PATH

这是拷贝meliad库,同上,也要改一下

git clone https://github.com/google-research/meliad meliad_lib/meliad

到这里安装就完成了,run.sh后面的命令是运行用的

三、运行前的一些其他东西

  1. README.md里面建议运行run_tests.sh
bash run_tests.sh

lm_inference_test.py的测试可能报错

  1. numericals.py的第705行,如果是
(a, b, c), *ps = points

要改成

a, b, c, *ps = points

四、运行

直接修改run.sh的代码部分

# !/bin/bash
set -e
set -x

# virtualenv -p python3 .
source ./bin/activate                                             
# pip install --require-hashes -r requirements.txt

# gdown --folder https://bit.ly/alphageometry
DATA=ag_ckpt_vocab

MELIAD_PATH=meliad_lib/meliad
# mkdir -p $MELIAD_PATH
# git clone https://github.com/google-research/meliad $MELIAD_PATH
export PYTHONPATH=$PYTHONPATH:$MELIAD_PATH

DDAR_ARGS=(
  --defs_file=$(pwd)/defs.txt \
  --rules_file=$(pwd)/rules.txt \
);                                                                
BATCH_SIZE=2
BEAM_SIZE=2
DEPTH=2

SEARCH_ARGS=(
  --beam_size=$BEAM_SIZE
  --search_depth=$DEPTH
)

LM_ARGS=(
  --ckpt_path=$DATA \
  --vocab_path=$DATA/geometry.757.model \
  --gin_search_paths=$MELIAD_PATH/transformer/configs \
  --gin_file=base_htrans.gin \
  --gin_file=size/medium_150M.gin \
  --gin_file=options/positions_t5.gin \
  --gin_file=options/lr_cosine_decay.gin \
  --gin_file=options/seq_1024_nocache.gin \
  --gin_file=geometry_150M_generate.gin \
  --gin_param=DecoderOnlyLanguageModelGenerate.output_token_losses=True \
  --gin_param=TransformerTaskConfig.batch_size=$BATCH_SIZE \
  --gin_param=TransformerTaskConfig.sequence_length=128 \
  --gin_param=Trainer.restore_state_variables=False
);

echo $PYTHONPATH

python -m alphageometry \
--alsologtostderr \
--problems_file=$(pwd)/examples.txt \
--problem_name=orthocenter \
--mode=alphageometry \
"${DDAR_ARGS[@]}" \
"${SEARCH_ARGS[@]}" \
"${LM_ARGS[@]}"

注释掉几行就可以了

第21-23行与辅助线有关,可以自己看README,简单题目这个数据应该够了
第50-51行与题目有关
problems_file为题目集的位置(用绝对路径)
problem_name为题目的名称

最后只要输入以下命令就行了

bash run.sh

转载请注明出处

  • 35
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值