Implement relative importing of data

This commit is contained in:
WilliamGazeley
2024-02-14 13:55:17 +00:00
parent 3d26e9fb6a
commit fa66c94d5a
11 changed files with 90 additions and 26 deletions
+3
View File
@@ -136,3 +136,6 @@ fingpt/FinGPT_sentiment/instruct-FinGPT/run.sh
fingpt/FinGPT_sentiment/instruct-FinGPT/checkpoints
fingpt/FinGPT_sentiment/instruct-FinGPT/ds_results_all_10_v2_1.*
FinGPT_Training_LoRA_with_Chatglm2_6b_for_beginners.ipynb
# Benchmark data
fingpt/FinGPT_Benchmark/data/*/**
@@ -8,9 +8,9 @@ from functools import partial
import re
import sys
import numpy as np
from fingpt.FinGPT_Benchmark.utils import *
from pathlib import Path
sys.path.append('../')
from utils import *
def cvt_text_to_pred(text):
if not text:
@@ -32,9 +32,8 @@ def map_output(feature):
return {'label': label, 'pred': pred}
def test_convfinqa(args, model, tokenizer):
dataset = load_from_disk('../data/fingpt-convfinqa')['test']#.select(range(30))
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fingpt-convfinqa')['test']
dataset = dataset.map(partial(test_mapping, args), load_from_cache_file=False)
def collate_fn(batch):
@@ -8,8 +8,9 @@ from functools import partial
import re
import sys
import numpy as np
from fingpt.FinGPT_Benchmark.utils import *
from pathlib import Path
sys.path.append('../')
from utils import *
def cvt_text_to_pred(text):
@@ -33,7 +34,7 @@ def map_output(feature):
def test_fineval(args, model, tokenizer):
dataset = load_from_disk('../data/fingpt-fineval')['test']#.select(range(30))
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fingpt-fineval')['test']
dataset = dataset.map(partial(test_mapping, args), load_from_cache_file=False)
def collate_fn(batch):
+3 -2
View File
@@ -8,8 +8,9 @@ from functools import partial
import re
import sys
import numpy as np
from fingpt.FinGPT_Benchmark.utils import *
from pathlib import Path
sys.path.append('../')
from utils import *
relations = [
@@ -102,7 +103,7 @@ def calc_metric(gt_list, pred_list):
def test_re(args, model, tokenizer):
dataset = load_from_disk('../data/fingpt-finred-re')['test']#.select(range(50))
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fingpt-finred-re')['test']
dataset = dataset.train_test_split(0.2, seed=42)['test']
dataset = dataset.map(partial(test_mapping, args), load_from_cache_file=False)
+4 -3
View File
@@ -9,9 +9,10 @@ import torch
from torch.utils.data import DataLoader
from functools import partial
from pathlib import Path
with open('sentiment_templates.txt') as f:
with open(Path(__file__).parent / 'sentiment_templates.txt') as f:
templates = [l.strip() for l in f.readlines()]
@@ -58,7 +59,7 @@ def vote_output(x):
def test_fiqa(args, model, tokenizer, prompt_fun=add_instructions):
batch_size = args.batch_size
# dataset = load_dataset('pauri32/fiqa-2018')
dataset = load_from_disk('../data/fiqa-2018/')
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fiqa-2018/')
dataset = datasets.concatenate_datasets([dataset["train"], dataset["validation"] ,dataset["test"] ])
dataset = dataset.train_test_split(0.226, seed = 42)['test']
dataset = dataset.to_pandas()
@@ -112,7 +113,7 @@ def test_fiqa(args, model, tokenizer, prompt_fun=add_instructions):
def test_fiqa_mlt(args, model, tokenizer):
batch_size = args.batch_size
# dataset = load_dataset('pauri32/fiqa-2018')
dataset = load_from_disk('../data/fiqa-2018/')
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fiqa-2018/')
dataset = datasets.concatenate_datasets([dataset["train"], dataset["validation"] ,dataset["test"] ])
dataset = dataset.train_test_split(0.226, seed=42)['test']
dataset = dataset.to_pandas()
+5 -4
View File
@@ -9,6 +9,7 @@ import torch
from torch.utils.data import DataLoader
from functools import partial
from pathlib import Path
dic = {
0:"negative",
@@ -16,7 +17,7 @@ dic = {
2:'positive',
}
with open('sentiment_templates.txt') as f:
with open(Path(__file__).parent / 'sentiment_templates.txt') as f:
templates = [l.strip() for l in f.readlines()]
@@ -52,7 +53,7 @@ def vote_output(x):
def test_fpb(args, model, tokenizer, prompt_fun=None):
batch_size = args.batch_size
# instructions = load_dataset("financial_phrasebank", "sentences_50agree")
instructions = load_from_disk("../data/financial_phrasebank-sentences_50agree/")
instructions = load_from_disk(Path(__file__).parent.parent / "data/financial_phrasebank-sentences_50agree/")
instructions = instructions["train"]
instructions = instructions.train_test_split(seed = 42)['test']
instructions = instructions.to_pandas()
@@ -105,8 +106,8 @@ def test_fpb(args, model, tokenizer, prompt_fun=None):
def test_fpb_mlt(args, model, tokenizer):
batch_size = args.batch_size
# instructions = load_dataset("financial_phrasebank", "sentences_50agree")
dataset = load_from_disk('../data/financial_phrasebank-sentences_50agree/')
# dataset = load_dataset("financial_phrasebank", "sentences_50agree")
dataset = load_from_disk(Path(__file__).parent.parent / 'data/financial_phrasebank-sentences_50agree/')
dataset = dataset["train"]#.select(range(300))
dataset = dataset.train_test_split(seed=42)['test']
dataset = dataset.to_pandas()
@@ -5,11 +5,11 @@ import datasets
import torch
from torch.utils.data import DataLoader
from functools import partial
from pathlib import Path
from fingpt.FinGPT_Benchmark.utils import *
import sys
sys.path.append('../')
from utils import *
@@ -34,8 +34,8 @@ def map_output(feature):
def test_headline(args, model, tokenizer):
# dataset = load_from_disk('../data/fingpt-headline')['test']#.select(range(300))
dataset = load_from_disk('../data/fingpt-headline-instruct')['test']#.select(range(300))
# dataset = load_from_disk('../data/fingpt-headline')['test']
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fingpt-headline-instruct')['test']
dataset = dataset.map(partial(test_mapping, args), load_from_cache_file=False)
def collate_fn(batch):
+3 -3
View File
@@ -8,9 +8,9 @@ from functools import partial
import re
import sys
import numpy as np
from fingpt.FinGPT_Benchmark.utils import *
from pathlib import Path
sys.path.append('../')
from utils import *
ent_dict = {
'PER': 'person',
@@ -53,7 +53,7 @@ def map_output(feature):
def test_ner(args, model, tokenizer):
dataset = load_from_disk('../data/fingpt-ner')['test']#.select(range(30))
dataset = load_from_disk(Path(__file__).parent.parent / 'data/fingpt-ner')['test']
dataset = dataset.map(partial(test_mapping, args), load_from_cache_file=False)
def collate_fn(batch):
+2 -2
View File
@@ -6,6 +6,7 @@ from datasets import load_dataset, load_from_disk
from tqdm import tqdm
import datasets
import torch
from pathlib import Path
dic = {
'strong negative':"negative",
@@ -36,8 +37,7 @@ def change_target(x):
def test_nwgi(args, model, tokenizer, prompt_fun=None):
batch_size = args.batch_size
# dataset = load_dataset('oliverwang15/news_with_gpt_instructions')
dataset = load_from_disk('../data/news_with_gpt_instructions/')
dataset = dataset['test'].to_pandas()
dataset = load_from_disk(Path(__file__).parent.parent / 'data/news_with_gpt_instructions/')
dataset['output'] = dataset['label'].apply(lambda x:dic[x])
if prompt_fun is None:
+2 -1
View File
@@ -6,6 +6,7 @@ from datasets import load_dataset, load_from_disk
from tqdm import tqdm
import datasets
import torch
from pathlib import Path
dic = {
0:"negative",
@@ -32,7 +33,7 @@ def change_target(x):
def test_tfns(args, model, tokenizer, prompt_fun=None):
batch_size = args.batch_size
# dataset = load_dataset('zeroshot/twitter-financial-news-sentiment')
dataset = load_from_disk('../data/twitter-financial-news-sentiment')
dataset = load_from_disk(Path(__file__).parent.parent / 'data/twitter-financial-news-sentiment')
dataset = dataset['validation']
dataset = dataset.to_pandas()
dataset['label'] = dataset['label'].apply(lambda x:dic[x])
+57
View File
@@ -0,0 +1,57 @@
import datasets
from pathlib import Path
def download():
"""Downloads all datasets to where the FinGPT library is located."""
data_dir = Path(__file__).parent
dataset = datasets.load_dataset('pauri32/fiqa-2018')
dataset.save_to_disk(data_dir / 'fiqa-2018')
dataset = datasets.load_dataset('FinGPT/fingpt-finred')
dataset.save_to_disk(data_dir / 'fingpt-finred')
dataset = datasets.load_dataset('zeroshot/twitter-financial-news-sentiment')
dataset.save_to_disk(data_dir / 'twitter-financial-news-sentiment')
dataset = datasets.load_dataset('oliverwang15/news_with_gpt_instructions')
dataset.save_to_disk(data_dir / 'news_with_gpt_instructions')
dataset = datasets.load_dataset("financial_phrasebank", "sentences_50agree")
dataset.save_to_disk(data_dir / 'financial_phrasebank-sentences_50agree')
dataset = datasets.load_dataset('FinGPT/fingpt-fiqa_qa')
dataset.save_to_disk(data_dir / 'fingpt-fiqa_qa')
dataset = datasets.load_dataset('FinGPT/fingpt-headline-cls')
dataset.save_to_disk(data_dir / 'fingpt-headline-cls')
dataset = datasets.load_dataset('FinGPT/fingpt-finred')
dataset.save_to_disk(data_dir / 'fingpt-finred')
dataset = datasets.load_dataset('FinGPT/fingpt-convfinqa')
dataset.save_to_disk(data_dir / 'fingpt-convfinqa')
dataset = datasets.load_dataset('FinGPT/fingpt-finred-cls')
dataset.save_to_disk(data_dir / 'fingpt-finred-cls')
dataset = datasets.load_dataset('FinGPT/fingpt-ner')
dataset.save_to_disk(data_dir / 'fingpt-ner')
dataset = datasets.load_dataset('FinGPT/fingpt-headline')
dataset.save_to_disk(data_dir / 'fingpt-headline-instruct')
dataset = datasets.load_dataset('FinGPT/fingpt-finred-re')
dataset.save_to_disk(data_dir / 'fingpt-finred-re')
dataset = datasets.load_dataset('FinGPT/fingpt-ner-cls')
dataset.save_to_disk(data_dir / 'fingpt-ner-cls')
dataset = datasets.load_dataset('FinGPT/fingpt-fineval')
dataset.save_to_disk(data_dir / 'fingpt-fineval')
dataset = datasets.load_dataset('FinGPT/fingpt-sentiment-cls')
dataset.save_to_disk(data_dir / 'fingpt-sentiment-cls')
if __name__ == "__main__":
download()