Alat Peringkasan Kode Sumber Fungsi - Rilis Publik
Repositori ini berisi kode rilis publik untuk FUNCOM, alat untuk peringkasan kode sumber. Ringkasan kode adalah tugas secara otomatis menghasilkan deskripsi bahasa alami dari kode sumber.
Leclair, A., McMillan, C., "Rekomendasi untuk Dataset untuk Ringkasan Kode Sumber", di Proc. Konferensi Tahunan 2019 Bab Amerika Utara dari Asosiasi Linguistik Komputasi (NAACL'19), Jalur Makalah Penelitian Pendek, Minneapolis, AS, 2-7 Juni 2019.
Leclair, A., Jiang, S., McMillan, C., "Model saraf untuk menghasilkan ringkasan bahasa alami subrutin program", dalam Proc. dari Konferensi Internasional ACE/IEEE ke-41 tentang Rekayasa Perangkat Lunak (ICSE'19), Montreal, QC, Kanada, 25-31 Mei 2019.
https://arxiv.org/abs/1902.01954
Output contoh sampel secara acak dari model AST-ATTENDGRU dibandingkan dengan referensi ringkasan yang ditulis manusia yang baik:
Output Prototipe - Referensi Manusia
Mengembalikan durasi film - dapatkan panjang film ini dalam hitungan detik
Tulis string ke klien - tulis string ke semua klien yang terhubung
Metode ini dipanggil untuk menunjukkan halaman berikutnya di halaman - panggilan untuk secara eksplisit pergi ke halaman berikutnya dari dalam satu undian
Mengembalikan daftar semua ID yang cocok dengan gen yang diberikan - Dapatkan daftar ID superfamili untuk nama gen
membandingkan dua node dengan unk -mereka - membandingkan node N1 dan N2 dengan entri DX mereka
Metode ini memperbarui panel pohon - memperbarui panel pohon dengan pohon baru
Mengembalikan jumlah residu dalam urutan - Dapatkan jumlah residu yang berinteraksi dalam domain b
Mengembalikan true jika jaringan ditemukan - return true jika alamat inet lulus cocok dengan jaringan yang digunakan
Pesan Log Status - Masuki status pesan saat ini sebagai info
Repositori ini adalah arsip untuk kertas ICSE'19 yang disebutkan di atas. Ini adalah tempat yang baik untuk memulai, tetapi Anda mungkin juga ingin melihat proyek baru kami:
https://github.com/aakashba/callcon-public
https://github.com/attn-to-fc/attn-to-fc
https://github.com/acleclair/icpc2020_gnn
Kami menganggap Ubuntu 18.04, Python 3.6, Keras 2.2.4, TensorFlow 1.12. Jilid Anda dapat bervariasi pada sistem yang berbeda.
Kami menyediakan dataset metode java 2.1m dan komentar metode, sudah dibersihkan dan dipisahkan menjadi pelatihan/set val/tes:
https://s3.us-east-2.amazonaws.com/icse2018/index.html
(Catatan: Makalah ini sekarang berumur beberapa tahun. Silakan lihat pembaruan data di sini: https://github.com/aakashba/callcon-public)
Ekstrak dataset ke direktori (/ awal/ adalah default yang diasumsikan) sehingga Anda memiliki struktur direktori:
/scratch/funcom/data/standard/dataset.pkl
dll. Sesuai dengan file yang dijelaskan di situs di atas.
Agar konsisten dengan default, buat direktori berikut:
/Scratch/Focom/Data/Outdir/Model/
/Scratch/Focom/Data/Outdir/Histories/
/Scratch/focom/data/outdir/prediksi/
you@server:~/dev/funcom $ time python3 train.py --model-type=attendgru --gpu=0
Jenis model didefinisikan dalam model.py. Versi ICSE'19 adalah AST-ATTENDGRU, jika Anda ingin mereproduksi untuk perbandingan dengan model Anda sendiri. Perhatikan bahwa informasi riwayat untuk setiap zaman disimpan dalam file PKL EG /SCRATCH/FUNCOM/data/outdir/histories/attendgru_hist_1551297717.pkl. Integer di akhir file adalah waktu zaman di mana pelatihan dimulai, dan digunakan untuk menghubungkan sejarah, konfigurasi, model, dan data prediksi. Misalnya, pelatihan ATTERGRU TO EPOCH 5 akan menghasilkan:
/scratch/funcom/data/outdir/histories/attendgru_conf_1551297717.pkl
/scratch/funcom/data/outdir/histories/attendgru_hist_1551297717.pkl
/scratch/funcom/data/outdir/models/attendgru_e01_1551297717.h5
/scratch/funcom/data/outdir/models/attendgru_e02_1551297717.h5
/scratch/funcom/data/outdir/models/attendgru_e03_1551297717.h5
/scratch/funcom/data/outdir/models/attendgru_e04_1551297717.h5
/scratch/funcom/data/outdir/models/attendgru_e05_1551297717.h5
Baseline yang baik untuk pekerjaan awal adalah model ATTERGRU. Komentar dalam file (Model/ATTERGRU.PY) menjelaskan perilakunya secara rinci, dan berlatih relatif cepat: sekitar 45 menit per zaman menggunakan ukuran batch 200 pada satu quadro P5000, dengan kinerja maksimum pada validasi yang ditetapkan di Epoch 5.
you@server:~/dev/funcom $ time python3 predict.py /scratch/funcom/data/outdir/models/attendgru_E05_1551297717.h5 --gpu=0
Satu -satunya input yang diperlukan untuk memprediksi.py pada baris perintah adalah file model, tetapi informasi konfigurasi dibaca dari file PKL yang disebutkan di atas. Prediksi output akan ditulis ke file misalnya:
/scratch/funcom/data/outdir/predictions/predict-attendgru_e05_1551297717.txt
Perhatikan bahwa prediksi CPU pada prinsipnya, tetapi secara default model ATTERGRU dan AST-ATTENDGRU menggunakan cudnngru alih-alih GRU standar, yang mengharuskan menggunakan GPU selama prediksi.
you@server:~/dev/funcom $ time python3 bleu.py /scratch/funcom/data/outdir/predictions/predict-attendgru_E05_1551297717.txt
Ini akan menghasilkan skor bleu untuk file prediksi.