实测window安装不了,自己捣鼓了半天终于要成功时,报了个错
ImportError: No module named resource
pip安装也没解决,最后百度说是resource模块在windows上是不可用的
所以只能放弃
Mac 安装auto-pytorch
pip install swig
pip install pyrfr
pip install autoPyTorch
正常情况下就能安装好了
第一次使用报错:
OSError: dlopen(/Users/*/opt/anaconda3/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so, 0x0006): Library not loaded: /usr/local/opt/libomp/lib/libomp.dylib
Referenced from: /Users//opt/anaconda3/lib/python3.9/site-packages/lightgbm/lib_lightgbm.so
Reason: tried: ‘/usr/local/opt/libomp/lib/libomp.dylib’ (no such file), ‘/usr/local/lib/libomp.dylib’ (no such file), ‘/usr/lib/libomp.dylib’ (no such file)
使用autoPyTorch需要安装lightgbm
解决方案:
pip uninstall lightgbm
conda install lightgbm
bash: brew: command not found…
解决方案:
终端直接输入:
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
过程中,国内景象选择清华大学,差不多十几分钟就好了
fatal: not in a git directory Error: Command failed with exit 128: git
先输入:brew -v
会提示相应的方法:
(base) MacBook-Pro:~ ***$ brew -v
Homebrew 3.6.16-8-g895d322
fatal: detected dubious ownership in repository at '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'
To add an exception for this directory, call:git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
Homebrew/homebrew-core (no Git repository)
fatal: detected dubious ownership in repository at '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask'
To add an exception for this directory, call:git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
Homebrew/homebrew-cask (no Git repository)
将上面提示的两段代码输入终端运行即可:
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
Homebrew/homebrew-core
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
Homebrew/homebrew-cask
我们先使用官网案例验证下:
import os
import tempfile as tmp
import warningsfrom autoPyTorch.datasets.resampling_strategy import CrossValTypesos.environ['JOBLIB_TEMP_FOLDER'] = tmp.gettempdir()
os.environ['OMP_NUM_THREADS'] = '1'
os.environ['OPENBLAS_NUM_THREADS'] = '1'
os.environ['MKL_NUM_THREADS'] = '1'warnings.simplefilter(action='ignore', category=UserWarning)
warnings.simplefilter(action='ignore', category=FutureWarning)import sklearn.datasets
import sklearn.model_selection
from autoPyTorch.api.tabular_classification import TabularClassificationTaskX, y = sklearn.datasets.fetch_openml(data_id=40981, return_X_y=True, as_frame=True)
X_train, X_test, y_train, y_test = sklearn.model_selection.train_test_split(X,y,random_state=1,
)api = TabularClassificationTask(# To maintain logs of the run, you can uncomment the# Following lines# temporary_directory='./tmp/autoPyTorch_example_tmp_01',# output_directory='./tmp/autoPyTorch_example_out_01',# delete_tmp_folder_after_terminate=False,# delete_output_folder_after_terminate=False,seed=42,
)api.search(X_train=X_train,y_train=y_train,X_test=X_test.copy(),y_test=y_test.copy(),dataset_name='Australian',optimize_metric='accuracy',total_walltime_limit=300,func_eval_time_limit_secs=50,#n_jobs= -1,memory_limit=None
)
api.search时,如果只加入了官网代码会报错
ValueError: current limit exceeds maximum limit
所以需要加上:
memory_limit=None
y_pred = api.predict(X_test)
score = api.score(y_pred, y_test)
print(score)# Print statistics from search
print(api.sprint_statistics())
{‘accuracy’: 0.8728323699421965}
autoPyTorch results:
Dataset name: Australian
Optimisation Metric: accuracy
Best validation score: 0.8713450292397661
Number of target algorithm runs: 52
Number of successful target algorithm runs: 6
Number of crashed target algorithm runs: 45
Number of target algorithms that exceeded the time limit: 1
Number of target algorithms that exceeded the memory limit: 0
这样就运行完成了
下一节,讲一下具体的用法