{"id":22246687,"url":"https://github.com/rmsnow/amnet-rumor","last_synced_at":"2025-03-25T11:24:58.567Z","repository":{"id":119331399,"uuid":"154319999","full_name":"RMSnow/AMNet-Rumor","owner":"RMSnow","description":null,"archived":false,"fork":false,"pushed_at":"2018-10-31T06:23:30.000Z","size":5567,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-30T10:30:45.040Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RMSnow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-10-23T11:56:55.000Z","updated_at":"2018-10-31T06:23:31.000Z","dependencies_parsed_at":"2023-07-17T14:39:58.830Z","dependency_job_id":null,"html_url":"https://github.com/RMSnow/AMNet-Rumor","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMSnow%2FAMNet-Rumor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMSnow%2FAMNet-Rumor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMSnow%2FAMNet-Rumor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RMSnow%2FAMNet-Rumor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RMSnow","download_url":"https://codeload.github.com/RMSnow/AMNet-Rumor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245451360,"owners_count":20617500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-03T05:28:50.675Z","updated_at":"2025-03-25T11:24:58.543Z","avatar_url":"https://github.com/RMSnow.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AMNet: Memorability Estimation with Attention\nA PyTorch implementation of our paper [AMNet: Memorability Estimation with Attention](https://arxiv.org/abs/1804.03115)\nby Jiri Fajtl, Vasileios Argyriou, Dorothy Monekosso and Paolo Remagnino. This paper will be presented \nat [CVPR 2018](http://cvpr2018.thecvf.com/).\n\n==\u003e [AMNet](https://github.com/ok1zjf/AMNet)  \n\n## 实验流程\n\n1. Train\n\n   开始之前：\n\n   - `amnet.py`：（1）修改实验序号（2）修改AMNet-Train-Output文件夹\n   - `config.py`：修改GPU设备\n   - 服务器：（1）同步代码（2）创建AMNet-Train-Output文件夹\n   - 修改Cmd命令的参数，如`--lstm-steps`等\n\n   训练完成：\n\n   - 保存可视化结果\n   - 保存log日志文件\n   - 保存模型文件`.pkl`、训练日志`.csv`\n\n2. Predict\n\n   开始之前：\n\n   - 服务器：创建AMNet-Predict文件夹\n   - 修改Cmd命令的参数，如`--lstm-steps`等\n\n   预测完成：\n\n   - 保存部分att_maps图\n\n   - 保存预测结果：`mem`文件\n\n     `scp qipeng@10.25.0.232:/home/qipeng/PicMemorability/AMNet-Rumor-Baseline/*expt4* /Users/snow/snow_学习/4-研究生/实验室/AMNet/AMNet/_expt`\n\n3. Eval\n\n   - 记录实验日志：\n     - Accuracy：sklearn分类报告\n     - AUC\n     - `README.md`：可视化图片添加\n   - 分析`eval-expt*.csv`，保存相应的图片 \n\n4. 每日结束\n\n   - git同步代码\n\n## Path \u0026 Cmd\n\n### 服务器文件路径\n\n`/media/Data/qipeng/modified_complete_images`\n`/home/qipeng/PicMemorability/AMNet-Rumor`\n\n### 本机路径\n\n`/Users/snow/snow_学习/4-研究生/实验室/AMNet/AMNet/_expt`\n\n### Train Cmd\n\n`python3.5 main.py --train-batch-size 256 --test-batch-size 256 --cnn ResNet50FC --dataset lamem --dataset-root /media/Data/qipeng/modified_complete_images/AMNet-Rumor/lamem/ --train-split train_0 --val-split val_0 --lstm-steps 6`\n\n### Predict Cmd - Rumor / Nonrumor\n\n`python3.5 main.py --cnn ResNet50FC --model-weights /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Train-Output/expt5/lamem_ResNet50FC_lstm5_train_0/weights_35.pkl --eval-images /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/images/rumor --csv-out memorabilities-expt5-rumor.txt --att-maps-out /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/expt5/att_maps/rumor --lstm-steps 5 --gpu 1`\n\n`python3.5 main.py --cnn ResNet50FC --model-weights /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Train-Output/expt5/lamem_ResNet50FC_lstm5_train_0/weights_35.pkl --eval-images /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/images/nonrumor --csv-out memorabilities-expt5-nonrumor.txt --att-maps-out /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/expt5/att_maps/nonrumor --lstm-steps 5 --gpu 3`\n\n`python3.5 main.py --cnn ResNet50FC --model-weights /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Train-Output/expt6/lamem_ResNet50FC_lstm6_train_0/weights_54.pkl --eval-images /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/images/rumor --csv-out memorabilities-expt6-rumor.txt --att-maps-out /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/expt6/att_maps/rumor --lstm-steps 6 --gpu 1`\n\n`python3.5 main.py --cnn ResNet50FC --model-weights /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Train-Output/expt6/lamem_ResNet50FC_lstm6_train_0/weights_54.pkl --eval-images /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/images/nonrumor --csv-out memorabilities-expt6-nonrumor.txt --att-maps-out /media/Data/qipeng/modified_complete_images/AMNet-Rumor/AMNet-Predict/expt6/att_maps/nonrumor --lstm-steps 6 --gpu 3`\n\n## Expt Log\n\n| **实验序号** | 日期      | 主题            | 训练数据             | 超参数                                                    | Accuracy | AUC     | 备注                        |\n| :----------: | --------- | --------------- | :------------------- | --------------------------------------------------------- | -------- | ------- | --------------------------- |\n|    **0**     | 1016-1017 | baseline        | shuffle（不严格1:1） | lstm_steps: 3\u003cbr /\u003ebatch_size: 222\u003cbr /\u003eepoch: 54         | 0.75963  | 0.84084 |                             |\n|    **1**     | 1022      | baseline-可视化 | **train_0, val_0**   | lstm_steps: 3\u003cbr /\u003e**batch_size: 256**\u003cbr /\u003eepoch: 54     | 0.75352  | 0.83668 | 召回率高                    |\n|    **2**     | 1023      | lstm_steps=1    | train_0, val_0       | **lstm_steps: 1**\u003cbr /\u003ebatch_size: 256\u003cbr /\u003eepoch: 54     | 0.75537  | 0.84413 | 准确率高                    |\n|    **3**     | 1023      | lstm_steps=2    | train_0, val_0       | **lstm_steps: 2**\u003cbr /\u003ebatch_size: 256\u003cbr /\u003eepoch: 54     | 0.755    | 0.83577 | 观察epoch图，**可能过拟合** |\n|    **4**     | 1023      | lstm_steps=4    | train_0, val_0       | **lstm_steps: 4**\u003cbr /\u003ebatch_size: 256\u003cbr /\u003eepoch: 54     | 0.73389  | 0.82929 |                             |\n|    **5**     | 1024      | lstm_steps=5    | train_0, val_0       | **lstm_steps: 5**\u003cbr /\u003ebatch_size: 256\u003cbr /\u003e**epoch: 35** | 0.75259  | 0.842   |                             |\n|    **6**     | 1024      | lstm_steps=6    | train_0, val_0       | **lstm_steps: 6**\u003cbr /\u003ebatch_size: 256\u003cbr /\u003eepoch: 54     | 0.764    | 0.845   |                             |\n|   **2.2**    | 1024      | weights_35      |                      | epoch: 35                                                 | 0.76111  | 0.838   |                             |\n|   **3.2**    | 1024      | weights_35      |                      | epoch: 35                                                 | 0.75685  | 0.843   | 减少epoch有效               |\n|   **1.2**    | 1024      | weights_35      |                      | epoch: 35                                                 | 0.74167  | 0.838   |                             |\n|   **4.2**    | 1024      | weights_35      |                      | epoch: 35                                                 | 0.74815  | 0.840   | 减少epoch有效               |\n\n### 部分规律\n\n|                    |    AUC    | 0-precision | 1-precision | 0-recall | 1-recall |   0-f1   |   1-f1   |\n| :----------------: | :-------: | :---------: | :---------: | :------: | :------: | :------: | :------: |\n|  **Expt2: LSTM1**  | **0.844** |  **0.72**   |  **0.80**   | **0.83** | **0.68** | **0.77** | **0.74** |\n|   Expt2.2: LSTM1   |   0.838   |    0.77     |    0.75     |   0.74   |   0.78   |   0.76   |   0.76   |\n|    Expt3: LSTM2    |   0.836   |    0.73     |    0.78     |   0.80   |   0.71   |   0.77   |   0.74   |\n| **Expt3.2: LSTM2** | **0.843** |  **0.73**   |  **0.79**   | **0.82** | **0.69** | **0.77** | **0.74** |\n|  **Expt1: LSTM3**  | **0.837** |  **0.80**   |  **0.72**   | **0.68** | **0.83** | **0.73** | **0.77** |\n|   Expt1.2: LSTM3   |   0.838   |    0.82     |    0.69     |   0.62   |   0.87   |   0.71   |   0.77   |\n|    Expt4: LSTM4    |   0.829   |    0.69     |    0.81     |   0.86   |   0.61   |   0.76   |   0.69   |\n| **Expt4.2: LSTM4** | **0.840** |  **0.71**   |  **0.80**   | **0.83** | **0.67** | **0.77** | **0.73** |\n|  **Expt5: LSTM5**  | **0.842** |  **0.72**   |  **0.79**   | **0.82** | **0.68** | **0.77** | **0.73** |\n|  **Expt6: LSTM6**  | **0.845** |  **0.77**   |  **0.76**   | **0.75** | **0.78** | **0.76** | **0.77** |\n\n比较Expt2，Expt3.2，Expt1，Expt4.2，Expt5，Expt6的预测值分布：\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/predict/eval_img/expts-hist.png)\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/predict/eval_img/expts-density.png)\n\n### Expt 0\n\n**Accuracy**\n\n```\n\t\t\t\tprecision    recall  f1-score   support\n\n          0       0.76      0.75      0.76      2700\n          1       0.76      0.77      0.76      2700\n\navg / total       0.76      0.76      0.76      5400\n```\n\n### Expt 1: LSTM3\n\n**Accuracy**\n\n```\n\t\t\t\tprecision    recall  f1-score   support\n\n          0       0.80      0.68      0.73      2700\n          1       0.72      0.83      0.77      2700\n\navg / total       0.76      0.75      0.75      5400\n```\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt1-training-epoch54.png)\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt1-eval-epoch54.png)\n\n### Expt 2: LSTM1\n\n**Accuracy**\n\n```\n\t\t\t\tprecision    recall  f1-score   support\n\n          0       0.72      0.83      0.77      2700\n          1       0.80      0.68      0.74      2700\n\navg / total       0.76      0.76      0.75      5400\n```\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt2-training-epoch54.png)\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt2-eval-epoch54.png)\n\n### Expt 3: LSTM2\n\n**Accuracy**\n\n```\n\t\t\t\tprecision    recall  f1-score   support\n\n          0       0.73      0.80      0.77      2700\n          1       0.78      0.71      0.74      2700\n\navg / total       0.76      0.76      0.75      5400\n```\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt3-training-epoch54.png)\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt3-eval-epoch54.png)\n\n### Expt4: LSTM4\n\n```\n\t\t\t\tprecision    recall  f1-score   support\n\n          0       0.69      0.86      0.76      2700\n          1       0.81      0.61      0.69      2700\n\navg / total       0.75      0.73      0.73      5400\n```\n\n ![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt4-training-epoch54.png)\n\n![1](https://raw.githubusercontent.com/RMSnow/AMNet-Rumor/master/_expt/expt4-eval-epoch54.png)\n\n## TODO\n\n### Debug\n\n- 预测时有bug\n\n### Learn\n\n- pytorch\n  - 多块gpu尝试\n  - 看懂模型代码：如框架使用，nn.LSTM()，forward，参数设置，维度等\n- Linux命令\n  - nohup, \u003e\u003e, \u0026\n  - kill, ps\n  - top\n  - ls -lR|grep \"^-\"|wc -l","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmsnow%2Famnet-rumor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frmsnow%2Famnet-rumor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frmsnow%2Famnet-rumor/lists"}