Featured image of post AMLSim 使用踩坑記:Python 版本使用與 Java 套件安裝經驗

AMLSim 使用踩坑記:Python 版本使用與 Java 套件安裝經驗

📌 Introduction

分享在使用 AMLSim 時遇到的坑,提醒大家以後遇到時可以看到,同時也是記錄一下留給以後的自己看。

🗒️ Notes

1. Python 版本問題

執行 transaction_graph_generator.py 使用的 Python 版本需要為 GitHub 頁面上寫的 3.7 或是在 conda 中用的 3.8 版本實測也是可以。

不然可能會出現問題,以下是我一開始使用 Python 3.12 遇到的錯誤訊息:

(base) user@macOS ~/AMLSim-master % python scripts/transaction_graph_generator.py conf.json
INFO:__main__:Random seed: 0
INFO:__main__:Simulation name: sample
INFO:__main__:Add 8374 base transactions
Traceback (most recent call last):
  File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 1334, in <module>
    txg.generate_normal_transactions()  # Load a parameter CSV file for the base transaction types
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 517, in generate_normal_transactions
    self.add_edge_info(src, dst)  # Add edge info.
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 557, in add_edge_info
    self.check_account_exist(orig)  # Ensure the originator and beneficiary accounts exist
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/user/AMLSim-master/scripts/transaction_graph_generator.py", line 310, in check_account_exist
    raise KeyError("Account %s does not exist" % str(aid))
KeyError: 'Account {} does not exist'

2. 安裝 Java 套件

在執行下面的命令前需要先從網路上下載 mason.20.jar 檔案放到 jars/ 裡面。

我是從這個網址下載的: https://cs.gmu.edu/~eclab/projects/mason/mason.20.jar

mvn install:install-file \
-Dfile=jars/mason.20.jar \
-DgroupId=mason \
-DartifactId=mason \
-Dversion=20 \
-Dpackaging=jar \
-DgeneratePom=true

接著執行編譯 Java 的動作

sh scripts/build_AMLSim.sh
sh scripts/run_AMLSim.sh conf.json

 

Licensed under CC BY-NC-SA 4.0
Last updated on Sep 20, 2024 20:55 CST