python中vstack_Python scipy.vstack方法代码示例

# 需要导入模块: import scipy [as 别名]

# 或者: from scipy import vstack [as 别名]

def train(self, datadir, pickle_model=""):

texts= []

labels= []

training_data = os.listdir(datadir)

rcount= 0

texts2= []

batchsize= 100000

batch_data = BatchData()

p_input= None

for jsonfile in training_data:

with open(datadir + "/" + jsonfile, 'r') as inputfile:

for line in inputfile:

#if rcount > 1000000: break

try: line= json.loads(line.strip())

except: continue

for review in line["Reviews"]:

rcount+= 1

if rcount % 100000 == 0: print(rcount)

if rcount % 8 != 0: continue

if "Overall" not in review["Ratings"]: continue

texts.append(review["Content"])

labels.append((float(review["Ratings"]["Overall"]) - 3) *0.5)

if len(texts) % batchsize == 0:

if p_input != None:

p_input.join()

texts2.append(batch_data.texts)

p_input = threading.Thread(target=self.transform_batch, args=(texts, batch_data))

p_input.start()

texts= []

if p_input != None:

p_input.join()

texts2.append(batch_data.texts)

texts2.append(self.wb.partial_fit_transform(texts))

del(texts)

texts= sp.vstack(texts2)

self.wb.dictionary_freeze = True

test= (np.array(texts[-1000:]), np.array(labels[-1000:]))

train = (np.array(texts[:-1000]), np.array(labels[:-1000]))

self.model.fit(train[0], train[1], batch_size=2048, epochs=2, validation_data=(test[0], test[1]))

if pickle_model != "":

self.model.save(pickle_model)

backend = self.wb.batcher.backend

backend_handle = self.wb.batcher.backend_handle

self.wb.batcher.backend = "serial"

self.wb.batcher.backend_handle = None

with gzip.open(pickle_model + ".wb", 'wb') as model_file: pkl.dump(self.wb, model_file, protocol=2)

self.wb.batcher.backend = backend

self.wb.batcher.backend_handle = backend_handle

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值