@@ -157,284 +157,6 @@ class TestTutorial(unittest.TestCase): | |||||
trainer.train() | trainer.train() | ||||
print('Train finished!') | print('Train finished!') | ||||
def test_fastnlp_advanced_tutorial(self): | |||||
import os | |||||
os.chdir("test/tutorials/fastnlp_advanced_tutorial") | |||||
from fastNLP import DataSet | |||||
from fastNLP import Instance | |||||
from fastNLP import Vocabulary | |||||
from fastNLP import Trainer | |||||
from fastNLP import Tester | |||||
# ### Instance | |||||
# Instance表示一个样本,由一个或者多个field(域、属性、特征)组成,每个field具有自己的名字以及值 | |||||
# 在初始化Instance的时候可以定义它包含的field,使用"field_name=field_value"的写法 | |||||
# In[2]: | |||||
# 组织一个Instance,这个Instance由premise、hypothesis、label三个field组成 | |||||
instance = Instance(premise='an premise example .', hypothesis='an hypothesis example.', label=1) | |||||
instance | |||||
# In[3]: | |||||
data_set = DataSet([instance] * 5) | |||||
data_set.append(instance) | |||||
data_set[-2:] | |||||
# In[4]: | |||||
# 如果某一个field的类型与dataset对应的field类型不一样仍可被加入dataset中 | |||||
instance2 = Instance(premise='the second premise example .', hypothesis='the second hypothesis example.', | |||||
label='1') | |||||
try: | |||||
data_set.append(instance2) | |||||
except: | |||||
pass | |||||
data_set[-2:] | |||||
# In[5]: | |||||
# 如果某一个field的名字不对,则该instance不能被append到dataset中 | |||||
instance3 = Instance(premises='the third premise example .', hypothesis='the third hypothesis example.', | |||||
label=1) | |||||
try: | |||||
data_set.append(instance3) | |||||
except: | |||||
print('cannot append instance') | |||||
pass | |||||
data_set[-2:] | |||||
# In[6]: | |||||
# 除了文本以外,还可以将tensor作为其中一个field的value | |||||
import torch | |||||
tensor_ins = Instance(image=torch.randn(5, 5), label=0) | |||||
ds = DataSet() | |||||
ds.append(tensor_ins) | |||||
ds | |||||
from fastNLP import DataSet | |||||
from fastNLP import Instance | |||||
# 从csv读取数据到DataSet | |||||
# 类csv文件,即每一行为一个example的文件,都可以使用这种方法进行数据读取 | |||||
dataset = DataSet.read_csv('tutorial_sample_dataset.csv', headers=('raw_sentence', 'label'), sep='\t') | |||||
# 查看DataSet的大小 | |||||
len(dataset) | |||||
# In[8]: | |||||
# 使用数字索引[k],获取第k个样本 | |||||
dataset[0] | |||||
# In[9]: | |||||
# 获取的样本是一个Instance | |||||
type(dataset[0]) | |||||
# In[10]: | |||||
# 使用数字索引[a: b],获取第a到第b个样本 | |||||
dataset[0: 3] | |||||
# In[11]: | |||||
# 索引也可以是负数 | |||||
dataset[-1] | |||||
data_path = ['premise', 'hypothesis', 'label'] | |||||
# 读入文件 | |||||
with open(data_path[0]) as f: | |||||
premise = f.readlines() | |||||
with open(data_path[1]) as f: | |||||
hypothesis = f.readlines() | |||||
with open(data_path[2]) as f: | |||||
label = f.readlines() | |||||
assert len(premise) == len(hypothesis) and len(hypothesis) == len(label) | |||||
# 组织DataSet | |||||
data_set = DataSet() | |||||
for p, h, l in zip(premise, hypothesis, label): | |||||
p = p.strip() # 将行末空格去除 | |||||
h = h.strip() # 将行末空格去除 | |||||
data_set.append(Instance(premise=p, hypothesis=h, truth=l)) | |||||
data_set[0] | |||||
# ### DataSet的其他操作 | |||||
# 在构建完毕DataSet后,仍然可以对DataSet的内容进行操作,函数接口为DataSet.apply() | |||||
# In[13]: | |||||
# 将premise域的所有文本转成小写 | |||||
data_set.apply(lambda x: x['premise'].lower(), new_field_name='premise') | |||||
data_set[-2:] | |||||
# In[14]: | |||||
# label转int | |||||
data_set.apply(lambda x: int(x['truth']), new_field_name='truth') | |||||
data_set[-2:] | |||||
# In[15]: | |||||
# 使用空格分割句子 | |||||
def split_sent(ins): | |||||
return ins['premise'].split() | |||||
data_set.apply(split_sent, new_field_name='premise') | |||||
data_set.apply(lambda x: x['hypothesis'].split(), new_field_name='hypothesis') | |||||
data_set[-2:] | |||||
# In[16]: | |||||
# 筛选数据 | |||||
origin_data_set_len = len(data_set) | |||||
data_set.drop(lambda x: len(x['premise']) <= 6, inplace=True) | |||||
origin_data_set_len, len(data_set) | |||||
# In[17]: | |||||
# 增加长度信息 | |||||
data_set.apply(lambda x: [1] * len(x['premise']), new_field_name='premise_len') | |||||
data_set.apply(lambda x: [1] * len(x['hypothesis']), new_field_name='hypothesis_len') | |||||
data_set[-1] | |||||
# In[18]: | |||||
# 设定特征域、标签域 | |||||
data_set.set_input("premise", "premise_len", "hypothesis", "hypothesis_len") | |||||
data_set.set_target("truth") | |||||
# In[19]: | |||||
# 重命名field | |||||
data_set.rename_field('truth', 'label') | |||||
data_set[-1] | |||||
# In[20]: | |||||
# 切分训练、验证集、测试集 | |||||
train_data, vad_data = data_set.split(0.5) | |||||
dev_data, test_data = vad_data.split(0.4) | |||||
len(train_data), len(dev_data), len(test_data) | |||||
# In[21]: | |||||
# 深拷贝一个数据集 | |||||
import copy | |||||
train_data_2, dev_data_2 = copy.deepcopy(train_data), copy.deepcopy(dev_data) | |||||
del copy | |||||
# 初始化词表,该词表最大的vocab_size为10000,词表中每个词出现的最低频率为2,'<unk>'表示未知词语,'<pad>'表示padding词语 | |||||
# Vocabulary默认初始化参数为max_size=None, min_freq=None, unknown='<unk>', padding='<pad>' | |||||
vocab = Vocabulary(max_size=10000, min_freq=2, unknown='<unk>', padding='<pad>') | |||||
# 构建词表 | |||||
train_data.apply(lambda x: [vocab.add(word) for word in x['premise']]) | |||||
train_data.apply(lambda x: [vocab.add(word) for word in x['hypothesis']]) | |||||
vocab.build_vocab() | |||||
# In[23]: | |||||
# 根据词表index句子 | |||||
train_data.apply(lambda x: [vocab.to_index(word) for word in x['premise']], new_field_name='premise') | |||||
train_data.apply(lambda x: [vocab.to_index(word) for word in x['hypothesis']], new_field_name='hypothesis') | |||||
dev_data.apply(lambda x: [vocab.to_index(word) for word in x['premise']], new_field_name='premise') | |||||
dev_data.apply(lambda x: [vocab.to_index(word) for word in x['hypothesis']], new_field_name='hypothesis') | |||||
test_data.apply(lambda x: [vocab.to_index(word) for word in x['premise']], new_field_name='premise') | |||||
test_data.apply(lambda x: [vocab.to_index(word) for word in x['hypothesis']], new_field_name='hypothesis') | |||||
train_data[-1], dev_data[-1], test_data[-1] | |||||
# 读入vocab文件 | |||||
with open('vocab.txt', encoding='utf-8') as f: | |||||
lines = f.readlines() | |||||
vocabs = [] | |||||
for line in lines: | |||||
vocabs.append(line.strip()) | |||||
# 实例化Vocabulary | |||||
vocab_bert = Vocabulary(unknown=None, padding=None) | |||||
# 将vocabs列表加入Vocabulary | |||||
vocab_bert.add_word_lst(vocabs) | |||||
# 构建词表 | |||||
vocab_bert.build_vocab() | |||||
# 更新unknown与padding的token文本 | |||||
vocab_bert.unknown = '[UNK]' | |||||
vocab_bert.padding = '[PAD]' | |||||
# In[25]: | |||||
# 根据词表index句子 | |||||
train_data_2.apply(lambda x: [vocab_bert.to_index(word) for word in x['premise']], new_field_name='premise') | |||||
train_data_2.apply(lambda x: [vocab_bert.to_index(word) for word in x['hypothesis']], | |||||
new_field_name='hypothesis') | |||||
dev_data_2.apply(lambda x: [vocab_bert.to_index(word) for word in x['premise']], new_field_name='premise') | |||||
dev_data_2.apply(lambda x: [vocab_bert.to_index(word) for word in x['hypothesis']], new_field_name='hypothesis') | |||||
train_data_2[-1], dev_data_2[-1] | |||||
for data in [train_data, dev_data, test_data]: | |||||
data.rename_field('premise', 'words1') | |||||
data.rename_field('hypothesis', 'words2') | |||||
data.rename_field('premise_len', 'seq_len1') | |||||
data.rename_field('hypothesis_len', 'seq_len2') | |||||
data.set_input('words1', 'words2', 'seq_len1', 'seq_len2') | |||||
# step 1:加载模型参数(非必选) | |||||
from fastNLP.io.config_io import ConfigSection, ConfigLoader | |||||
args = ConfigSection() | |||||
ConfigLoader().load_config("./data/config", {"esim_model": args}) | |||||
args["vocab_size"] = len(vocab) | |||||
args.data | |||||
# In[27]: | |||||
# step 2:加载ESIM模型 | |||||
from fastNLP.models import ESIM | |||||
model = ESIM(**args.data) | |||||
model | |||||
# In[28]: | |||||
# 另一个例子:加载CNN文本分类模型 | |||||
from fastNLP.models import CNNText | |||||
cnn_text_model = CNNText((len(vocab), 50), num_classes=5, padding=2, dropout=0.1) | |||||
from fastNLP import CrossEntropyLoss | |||||
from fastNLP import Adam | |||||
from fastNLP import AccuracyMetric | |||||
trainer = Trainer( | |||||
train_data=train_data, | |||||
model=model, | |||||
loss=CrossEntropyLoss(pred='pred', target='label'), | |||||
metrics=AccuracyMetric(target='label'), | |||||
n_epochs=3, | |||||
batch_size=16, | |||||
print_every=-1, | |||||
validate_every=-1, | |||||
dev_data=dev_data, | |||||
optimizer=Adam(lr=1e-3, weight_decay=0), | |||||
check_code_level=-1, | |||||
metric_key='acc', | |||||
use_tqdm=False, | |||||
) | |||||
trainer.train() | |||||
tester = Tester( | |||||
data=test_data, | |||||
model=model, | |||||
metrics=AccuracyMetric(target='label'), | |||||
batch_size=args["batch_size"], | |||||
) | |||||
tester.test() | |||||
def setUp(self): | def setUp(self): | ||||
import os | import os | ||||
self._init_wd = os.path.abspath(os.curdir) | self._init_wd = os.path.abspath(os.curdir) | ||||
@@ -1,8 +0,0 @@ | |||||
[esim_model] | |||||
embed_dim = 300 | |||||
hidden_size = 300 | |||||
batch_first = true | |||||
dropout = 0.3 | |||||
num_classes = 3 | |||||
gpu = true | |||||
batch_size = 32 |
@@ -1,100 +0,0 @@ | |||||
A person is training his horse for a competition . | |||||
A person is at a diner , ordering an omelette . | |||||
A person is outdoors , on a horse . | |||||
They are smiling at their parents | |||||
There are children present | |||||
The kids are frowning | |||||
The boy skates down the sidewalk . | |||||
The boy does a skateboarding trick . | |||||
The boy is wearing safety equipment . | |||||
An older man drinks his juice as he waits for his daughter to get off work . | |||||
A boy flips a burger . | |||||
An elderly man sits in a small shop . | |||||
Some women are hugging on vacation . | |||||
The women are sleeping . | |||||
There are women showing affection . | |||||
The people are eating omelettes . | |||||
The people are sitting at desks in school . | |||||
The diners are at a restaurant . | |||||
A man is drinking juice . | |||||
Two women are at a restaurant drinking wine . | |||||
A man in a restaurant is waiting for his meal to arrive . | |||||
A blond man getting a drink of water from a fountain in the park . | |||||
A blond man wearing a brown shirt is reading a book on a bench in the park | |||||
A blond man drinking water from a fountain . | |||||
The friends scowl at each other over a full dinner table . | |||||
There are two woman in this picture . | |||||
The friends have just met for the first time in 20 years , and have had a great time catching up . | |||||
The two sisters saw each other across the crowded diner and shared a hug , both clutching their doggie bags . | |||||
Two groups of rival gang members flipped each other off . | |||||
Two women hug each other . | |||||
A team is trying to score the games winning out . | |||||
A team is trying to tag a runner out . | |||||
A team is playing baseball on Saturn . | |||||
A school hosts a basketball game . | |||||
A high school is hosting an event . | |||||
A school is hosting an event . | |||||
The women do not care what clothes they wear . | |||||
Women are waiting by a tram . | |||||
The women enjoy having a good fashion sense . | |||||
A child with mom and dad , on summer vacation at the beach . | |||||
A family of three is at the beach . | |||||
A family of three is at the mall shopping . | |||||
The people waiting on the train are sitting . | |||||
There are people just getting on a train | |||||
There are people waiting on a train . | |||||
A couple are playing with a young child outside . | |||||
A couple are playing frisbee with a young child at the beach . | |||||
A couple watch a little girl play by herself on the beach . | |||||
The family is sitting down for dinner . | |||||
The family is outside . | |||||
The family is on vacation . | |||||
The people are standing still on the curb . | |||||
Near a couple of restaurants , two people walk across the street . | |||||
The couple are walking across the street together . | |||||
The woman is nake . | |||||
The woman is cold . | |||||
The woman is wearing green . | |||||
The man with the sign is caucasian . | |||||
They are protesting outside the capital . | |||||
A woman in white . | |||||
A man is advertising for a restaurant . | |||||
The woman is wearing black . | |||||
A man and a woman walk down a crowded city street . | |||||
The woman is wearing white . | |||||
They are working for John 's Pizza . | |||||
Olympic swimming . | |||||
A man and a soman are eating together at John 's Pizza and Gyro . | |||||
They are walking with a sign . | |||||
The woman is waiting for a friend . | |||||
The man is sitting down while he has a sign for John 's Pizza and Gyro in his arms . | |||||
The woman and man are outdoors . | |||||
A woman ordering pizza . | |||||
The people are related . | |||||
Two adults run across the street to get away from a red shirted person chasing them . | |||||
The adults are both male and female . | |||||
Two people walk home after a tasty steak dinner . | |||||
Two adults swimming in water | |||||
Two adults walk across a street . | |||||
Two people ride bicycles into a tunnel . | |||||
Two people walk away from a restaurant across a street . | |||||
Two adults walking across a road near the convicted prisoner dressed in red | |||||
Two friends cross a street . | |||||
Some people board a train . | |||||
Two adults walk across the street . | |||||
Two adults walking across a road | |||||
There are no women in the picture . | |||||
Two adults walk across the street to get away from a red shirted person who is chasing them . | |||||
A married couple is sleeping . | |||||
A female is next to a man . | |||||
A married couple is walking next to each other . | |||||
Nobody has food . | |||||
A woman eats a banana and walks across a street , and there is a man trailing behind her . | |||||
The woman and man are playing baseball together . | |||||
two coworkers cross pathes on a street | |||||
A woman eats ice cream walking down the sidewalk , and there is another woman in front of her with a purse . | |||||
The mans briefcase is for work . | |||||
A person eating . | |||||
A person that is hungry . | |||||
An actress and her favorite assistant talk a walk in the city . | |||||
a woman eating a banana crosses a street |
@@ -1,100 +0,0 @@ | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
0 | |||||
2 | |||||
2 | |||||
0 | |||||
1 | |||||
1 | |||||
2 | |||||
1 | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
2 | |||||
0 | |||||
0 | |||||
2 | |||||
1 | |||||
1 | |||||
2 | |||||
0 | |||||
2 | |||||
0 | |||||
1 | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
0 | |||||
2 | |||||
2 | |||||
1 | |||||
0 | |||||
2 | |||||
0 | |||||
1 | |||||
1 | |||||
0 | |||||
2 | |||||
1 | |||||
0 | |||||
0 | |||||
0 | |||||
1 | |||||
2 | |||||
2 | |||||
0 | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
2 | |||||
1 | |||||
0 | |||||
1 | |||||
2 | |||||
0 | |||||
0 | |||||
2 | |||||
1 | |||||
0 | |||||
1 | |||||
2 | |||||
2 | |||||
0 | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
2 | |||||
0 | |||||
2 | |||||
0 | |||||
1 | |||||
1 | |||||
2 | |||||
0 | |||||
0 | |||||
2 | |||||
1 | |||||
2 | |||||
0 | |||||
1 | |||||
2 | |||||
0 | |||||
2 | |||||
1 | |||||
2 | |||||
1 | |||||
0 | |||||
1 | |||||
1 | |||||
0 |
@@ -1,100 +0,0 @@ | |||||
A person on a horse jumps over a broken down airplane . | |||||
A person on a horse jumps over a broken down airplane . | |||||
A person on a horse jumps over a broken down airplane . | |||||
Children smiling and waving at camera | |||||
Children smiling and waving at camera | |||||
Children smiling and waving at camera | |||||
A boy is jumping on skateboard in the middle of a red bridge . | |||||
A boy is jumping on skateboard in the middle of a red bridge . | |||||
A boy is jumping on skateboard in the middle of a red bridge . | |||||
An older man sits with his orange juice at a small table in a coffee shop while employees in bright colored shirts smile in the background . | |||||
An older man sits with his orange juice at a small table in a coffee shop while employees in bright colored shirts smile in the background . | |||||
An older man sits with his orange juice at a small table in a coffee shop while employees in bright colored shirts smile in the background . | |||||
Two blond women are hugging one another . | |||||
Two blond women are hugging one another . | |||||
Two blond women are hugging one another . | |||||
A few people in a restaurant setting , one of them is drinking orange juice . | |||||
A few people in a restaurant setting , one of them is drinking orange juice . | |||||
A few people in a restaurant setting , one of them is drinking orange juice . | |||||
An older man is drinking orange juice at a restaurant . | |||||
An older man is drinking orange juice at a restaurant . | |||||
An older man is drinking orange juice at a restaurant . | |||||
A man with blond-hair , and a brown shirt drinking out of a public water fountain . | |||||
A man with blond-hair , and a brown shirt drinking out of a public water fountain . | |||||
A man with blond-hair , and a brown shirt drinking out of a public water fountain . | |||||
Two women who just had lunch hugging and saying goodbye . | |||||
Two women who just had lunch hugging and saying goodbye . | |||||
Two women who just had lunch hugging and saying goodbye . | |||||
Two women , holding food carryout containers , hug . | |||||
Two women , holding food carryout containers , hug . | |||||
Two women , holding food carryout containers , hug . | |||||
A Little League team tries to catch a runner sliding into a base in an afternoon game . | |||||
A Little League team tries to catch a runner sliding into a base in an afternoon game . | |||||
A Little League team tries to catch a runner sliding into a base in an afternoon game . | |||||
The school is having a special event in order to show the american culture on how other cultures are dealt with in parties . | |||||
The school is having a special event in order to show the american culture on how other cultures are dealt with in parties . | |||||
The school is having a special event in order to show the american culture on how other cultures are dealt with in parties . | |||||
High fashion ladies wait outside a tram beside a crowd of people in the city . | |||||
High fashion ladies wait outside a tram beside a crowd of people in the city . | |||||
High fashion ladies wait outside a tram beside a crowd of people in the city . | |||||
A man , woman , and child enjoying themselves on a beach . | |||||
A man , woman , and child enjoying themselves on a beach . | |||||
A man , woman , and child enjoying themselves on a beach . | |||||
People waiting to get on a train or just getting off . | |||||
People waiting to get on a train or just getting off . | |||||
People waiting to get on a train or just getting off . | |||||
A couple playing with a little boy on the beach . | |||||
A couple playing with a little boy on the beach . | |||||
A couple playing with a little boy on the beach . | |||||
A couple play in the tide with their young son . | |||||
A couple play in the tide with their young son . | |||||
A couple play in the tide with their young son . | |||||
A man and a woman cross the street in front of a pizza and gyro restaurant . | |||||
A man and a woman cross the street in front of a pizza and gyro restaurant . | |||||
A man and a woman cross the street in front of a pizza and gyro restaurant . | |||||
A woman in a green jacket and hood over her head looking towards a valley . | |||||
A woman in a green jacket and hood over her head looking towards a valley . | |||||
A woman in a green jacket and hood over her head looking towards a valley . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Woman in white in foreground and a man slightly behind walking with a sign for John 's Pizza and Gyro in the background . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
Two adults , one female in white , with shades and one male , gray clothes , walking across a street , away from a eatery with a blurred image of a dark colored red shirted person in the foreground . | |||||
A woman wearing all white and eating , walks next to a man holding a briefcase . | |||||
A woman wearing all white and eating , walks next to a man holding a briefcase . | |||||
A woman wearing all white and eating , walks next to a man holding a briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . | |||||
A woman is walking across the street eating a banana , while a man is following with his briefcase . |
@@ -1,77 +0,0 @@ | |||||
A series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story . 1 | |||||
This quiet , introspective and entertaining independent is worth seeking . 4 | |||||
Even fans of Ismail Merchant 's work , I suspect , would have a hard time sitting through this one . 1 | |||||
A positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a Shakespearean tragedy or a juicy soap opera . 3 | |||||
Aggressive self-glorification and a manipulative whitewash . 1 | |||||
A comedy-drama of nearly epic proportions rooted in a sincere performance by the title character undergoing midlife crisis . 4 | |||||
Narratively , Trouble Every Day is a plodding mess . 1 | |||||
The Importance of Being Earnest , so thick with wit it plays like a reading from Bartlett 's Familiar Quotations 3 | |||||
But it does n't leave you with much . 1 | |||||
You could hate it for the same reason . 1 | |||||
There 's little to recommend Snow Dogs , unless one considers cliched dialogue and perverse escapism a source of high hilarity . 1 | |||||
Kung Pow is Oedekerk 's realization of his childhood dream to be in a martial-arts flick , and proves that sometimes the dreams of youth should remain just that . 1 | |||||
The performances are an absolute joy . 4 | |||||
Fresnadillo has something serious to say about the ways in which extravagant chance can distort our perspective and throw us off the path of good sense . 3 | |||||
I still like Moonlight Mile , better judgment be damned . 3 | |||||
A welcome relief from baseball movies that try too hard to be mythic , this one is a sweet and modest and ultimately winning story . 3 | |||||
a bilingual charmer , just like the woman who inspired it 3 | |||||
Like a less dizzily gorgeous companion to Mr. Wong 's In the Mood for Love -- very much a Hong Kong movie despite its mainland setting . 2 | |||||
As inept as big-screen remakes of The Avengers and The Wild Wild West . 1 | |||||
It 's everything you 'd expect -- but nothing more . 2 | |||||
Best indie of the year , so far . 4 | |||||
Hatfield and Hicks make the oddest of couples , and in this sense the movie becomes a study of the gambles of the publishing world , offering a case study that exists apart from all the movie 's political ramifications . 3 | |||||
It 's like going to a house party and watching the host defend himself against a frothing ex-girlfriend . 1 | |||||
That the Chuck Norris `` grenade gag '' occurs about 7 times during Windtalkers is a good indication of how serious-minded the film is . 2 | |||||
The plot is romantic comedy boilerplate from start to finish . 2 | |||||
It arrives with an impeccable pedigree , mongrel pep , and almost indecipherable plot complications . 2 | |||||
A film that clearly means to preach exclusively to the converted . 2 | |||||
While The Importance of Being Earnest offers opportunities for occasional smiles and chuckles , it does n't give us a reason to be in the theater beyond Wilde 's wit and the actors ' performances . 1 | |||||
The latest vapid actor 's exercise to appropriate the structure of Arthur Schnitzler 's Reigen . 1 | |||||
More vaudeville show than well-constructed narrative , but on those terms it 's inoffensive and actually rather sweet . 2 | |||||
Nothing more than a run-of-the-mill action flick . 2 | |||||
Hampered -- no , paralyzed -- by a self-indulgent script ... that aims for poetry and ends up sounding like satire . 0 | |||||
Ice Age is the first computer-generated feature cartoon to feel like other movies , and that makes for some glacial pacing early on . 2 | |||||
There 's very little sense to what 's going on here , but the makers serve up the cliches with considerable dash . 2 | |||||
Cattaneo should have followed the runaway success of his first film , The Full Monty , with something different . 2 | |||||
They 're the unnamed , easily substitutable forces that serve as whatever terror the heroes of horror movies try to avoid . 1 | |||||
It almost feels as if the movie is more interested in entertaining itself than in amusing us . 1 | |||||
The movie 's progression into rambling incoherence gives new meaning to the phrase ` fatal script error . ' 0 | |||||
I still like Moonlight Mile , better judgment be damned . 3 | |||||
A welcome relief from baseball movies that try too hard to be mythic , this one is a sweet and modest and ultimately winning story . 3 | |||||
a bilingual charmer , just like the woman who inspired it 3 | |||||
Like a less dizzily gorgeous companion to Mr. Wong 's In the Mood for Love -- very much a Hong Kong movie despite its mainland setting . 2 | |||||
As inept as big-screen remakes of The Avengers and The Wild Wild West . 1 | |||||
It 's everything you 'd expect -- but nothing more . 2 | |||||
Best indie of the year , so far . 4 | |||||
Hatfield and Hicks make the oddest of couples , and in this sense the movie becomes a study of the gambles of the publishing world , offering a case study that exists apart from all the movie 's political ramifications . 3 | |||||
It 's like going to a house party and watching the host defend himself against a frothing ex-girlfriend . 1 | |||||
That the Chuck Norris `` grenade gag '' occurs about 7 times during Windtalkers is a good indication of how serious-minded the film is . 2 | |||||
The plot is romantic comedy boilerplate from start to finish . 2 | |||||
It arrives with an impeccable pedigree , mongrel pep , and almost indecipherable plot complications . 2 | |||||
A film that clearly means to preach exclusively to the converted . 2 | |||||
I still like Moonlight Mile , better judgment be damned . 3 | |||||
A welcome relief from baseball movies that try too hard to be mythic , this one is a sweet and modest and ultimately winning story . 3 | |||||
a bilingual charmer , just like the woman who inspired it 3 | |||||
Like a less dizzily gorgeous companion to Mr. Wong 's In the Mood for Love -- very much a Hong Kong movie despite its mainland setting . 2 | |||||
As inept as big-screen remakes of The Avengers and The Wild Wild West . 1 | |||||
It 's everything you 'd expect -- but nothing more . 2 | |||||
Best indie of the year , so far . 4 | |||||
Hatfield and Hicks make the oddest of couples , and in this sense the movie becomes a study of the gambles of the publishing world , offering a case study that exists apart from all the movie 's political ramifications . 3 | |||||
It 's like going to a house party and watching the host defend himself against a frothing ex-girlfriend . 1 | |||||
That the Chuck Norris `` grenade gag '' occurs about 7 times during Windtalkers is a good indication of how serious-minded the film is . 2 | |||||
The plot is romantic comedy boilerplate from start to finish . 2 | |||||
It arrives with an impeccable pedigree , mongrel pep , and almost indecipherable plot complications . 2 | |||||
A film that clearly means to preach exclusively to the converted . 2 | |||||
I still like Moonlight Mile , better judgment be damned . 3 | |||||
A welcome relief from baseball movies that try too hard to be mythic , this one is a sweet and modest and ultimately winning story . 3 | |||||
a bilingual charmer , just like the woman who inspired it 3 | |||||
Like a less dizzily gorgeous companion to Mr. Wong 's In the Mood for Love -- very much a Hong Kong movie despite its mainland setting . 2 | |||||
As inept as big-screen remakes of The Avengers and The Wild Wild West . 1 | |||||
It 's everything you 'd expect -- but nothing more . 2 | |||||
Best indie of the year , so far . 4 | |||||
Hatfield and Hicks make the oddest of couples , and in this sense the movie becomes a study of the gambles of the publishing world , offering a case study that exists apart from all the movie 's political ramifications . 3 | |||||
It 's like going to a house party and watching the host defend himself against a frothing ex-girlfriend . 1 | |||||
That the Chuck Norris `` grenade gag '' occurs about 7 times during Windtalkers is a good indication of how serious-minded the film is . 2 | |||||
The plot is romantic comedy boilerplate from start to finish . 2 | |||||
It arrives with an impeccable pedigree , mongrel pep , and almost indecipherable plot complications . 2 | |||||
A film that clearly means to preach exclusively to the converted . 2 |