Toàn văn tổng cộng11958
Tự, thỉnh hợp lý sử dụng mục lục ( đọc trợ thủ ) phụ trợ đọc
《2020 Đằng Tấn quảng cáo thuật toán đại tái 》 đấu bán kết đã tiếp cận kết thúc, làm một lọ đấu vòng loại nước tương, tính toán làm phục bàn, lưu cái bút ký, vốn dĩ đấu vòng loại kết thúc liền tính toán viết, bị sự tình các loại trì hoãn, thẳng đến hôm nay mới động thủ khai viết
Trước nói sau nhân tình huống: Mỗ điện thương công ty nhậm chức, số liệu phân tích phương hướng, làm đại bộ phận là DBA cùng loài bò sát sống ( từ quá vãng blog cũng xem ra tới ), hiểu biết quá sklearn kho một ít truyền thống máy móc học tập ( eg: Quyết sách thụ, tùy cơ rừng rậm, Kmeans, logic trở về chờ cơ sở truyền thống máy móc học tập thuật toán ), ( cuốn tích ) mạng lưới thần kinh, lgb,lstm, W2V, RNN chờ đều là ở thi đấu trong quá trình nghe các đại lão chia sẻ sau hiện học ( tuy rằng vẫn là không quá sẽ dùng, nguyên lý cũng đẩy không ra, ít nhất so ngay từ đầu nghe thấy này đó từ đều vẻ mặt mộng bức muốn hảo quá nhiều quá nhiều ),
Có thể nói làThuật toán thuần tiểu bạch
,Cuối cùng thành tích:score — 1.269806; xếp hạng — 367
Đề mục:Quảng cáo chịu chúng cơ sở thuộc tính dự đánh giá
Tái đề miêu tả Lần này thuật toán đại tái đề mục nơi phát ra với một cái quan trọng thả thú vị vấn đề. Mọi người đều biết, giống người dùng tuổi tác cùng giới tính người như vậy khẩu môn thống kê đặc thù là các loại đề cử hệ thống quan trọng đưa vào đặc thù, trong đó tự nhiên cũng bao gồm quảng cáo ngôi cao. Này sau lưng giả thiết là, người dùng đối quảng cáo thiên hảo sẽ theo này tuổi tác cùng giới tính bất đồng mà có điều khác nhau. Rất nhiều ngành sản xuất thực tiễn giả đã nhiều lần nghiệm chứng này một giả thiết. Nhưng mà, đại đa số nghiệm chứng sở chọn dùng phương thức đều là lấy dân cư môn thống kê thuộc tính làm đưa vào tới sinh ra đề cử kết quả, sau đó ly tuyến hoặc là tại tuyến mà đối lập dùng cùng không cần này đó đưa vào dưới tình huống đề cử tính năng. Lần này đại tái đề mục nếm thử từ một cái khác phương hướng tới nghiệm chứng cái này giả thiết, tức lấy người dùng ở quảng cáo hệ thống trung lẫn nhau hành vi làm đưa vào tới đoán trước người dùng dân cư môn thống kê thuộc tính.
Chúng ta cho rằng này một tái đề “Nghịch hướng tự hỏi” bản thân có này nghiên cứu giá trị cùng thú vị tính, ngoài ra cũng có thực dụng giá trị cùng khiêu chiến Tính. Tỷ như, đối với khuyết thiếu người dùng tin tức thực tiễn giả tới nói, căn cứ vào này đều có hệ thống số liệu tới suy đoán người dùng thuộc tính, có thể trợ giúp này ở càng quảng đám người thượng thực hiện trí năng định hướng hoặc là chịu chúng bảo hộ. Cùng lúc đó, người dự thi yêu cầu tổng hợp vận dụng máy móc học tập lĩnh vực các loại kỹ thuật tới thực hiện càng chuẩn xác dự đánh giá.
Cụ thể mà nói, ở thi đấu trong lúc, chúng ta đem vì người dự thi cung cấp một tổ người dùng ở chiều dài vì 91 thiên ( 3 tháng ) thời gian cửa sổ Khẩu nội quảng cáo điểm đánh lịch sử ký lục làm huấn luyện số liệu tập. Mỗi điều ký lục trung bao hàm ngày ( từ 1 đến 91 ), người dùng tin tức ( tuổi tác, giới tính ), bị điểm đánh quảng cáo tin tức ( tư liệu sống id, quảng cáo id, sản phẩm id, sản phẩm loại mục id, quảng cáo chủ id, quảng cáo chủ ngành sản xuất id chờ ), cùng với người dùng này cùng ngày điểm đánh nên quảng cáo số lần. Thí nghiệm số liệu tập sẽ là một khác tổ người dùng quảng cáo điểm đánh lịch sử ký lục. Cung cấp cấp người dự thi thí nghiệm số liệu tập trung sẽ không bao hàm này đó người dùng tuổi tác cùng giới tính tin tức.
Bổn tái đề yêu cầu người dự thi đoán trước thí nghiệm số liệu tập trung xuất hiện người dùng tuổi tác cùng giới tính, cũng lấy ước định cách thức đệ trình đoán trước kết quả. Đại tái official website hậu trường sẽ tự động tính toán đạt được song song danh. Tình hình cụ thể và tỉ mỉ tham kiến 【 đánh giá phương thức 】 cùng 【 đệ trình phương thức 】. Đấu vòng loại cùng đấu bán kết trừ bỏ sở cung cấp huấn luyện số liệu tập lượng cấp có điều bất đồng ở ngoài, mặt khác thiết trí đều tương đồng.
Đệ trình phương thức Người dự thi đệ trình kết quả vì một cái mang tiêu đề hành submission.csv văn kiện, mã hóa chọn dùng vô BOM UTF-8, Cụ thể cách thức như sau ( tự đoạn trình tự dưới mặt miêu tả vì chuẩn, các tự đoạn dùng dấu phẩy phân cách, trung gian vô không cách ): ⚫ user_id ⚫ predicted_age: Đoán trước người dùng tuổi tác phân đoạn, lấy giá trị phạm vi [1,10]. ⚫ predicted_gender: Đoán trước người dùng giới tính, lấy giá trị phạm vi [1,2]. Thí nghiệm số liệu tập trung mỗi cái người dùng đều ứng ở submission.csv văn kiện trung đối ứng có thả chỉ có một hàng đoán trước kết quả. Các người dùng Đoán trước kết quả ở văn kiện này trung xuất hiện trình tự cùng đánh giá kết quả không quan hệ.
Đánh giá phương thức Đại tái sẽ căn cứ người dự thi đệ trình kết quả tính toán đoán trước chuẩn xác suất ( accuracy ). Tuổi tác đoán trước cùng giới tính đoán trước đem phân biệt đánh giá chuẩn xác suất, hai người chi cùng đem bị dùng làm người dự thi chấm điểm.
Thí nghiệm số liệu tập hội cùng huấn luyện số liệu tập cùng nhau cung cấp cấp người dự thi. Đại tái sẽ đem thí nghiệm số liệu tập trung xuất hiện người dùng phân chia vì hai tổ, cụ thể phân chia phương thức đối người dự thi không thể thấy. Trong đó một tổ người dùng đem bị dùng cho đấu vòng loại cùng đấu bán kết giai đoạn trừ cuối cùng một ngày ở ngoài bảng xếp hạng chấm điểm tính toán, một khác tổ tắc dùng cho đấu vòng loại cùng đấu bán kết giai đoạn cuối cùng một ngày bảng xếp hạng chấm điểm tính toán, cùng với cuối cùng thắng được đội ngũ lựa chọn.
2020 Đằng Tấn thuật toán đại tái đấu vòng loại số liệu tập download 【 lấy ra mã: 46lw】
Giai đoạn một: score 0.89+ ①3+1 descirbe() đối train huấn luyện số liệu miêu tả nhưng đến tuổi tác age3 xác suất lớn nhất, giới tính gender1 xác suất lớn nhất Trực tiếp đệ trình đoán trước kết quả age3+gender1 score liền có thể đạt tới đến 0.893+
②word2vec huấn luyện tham số sai lầm Ở tham khảo các lộ đại lão w2v phương án sau vẫn như cũ không có đột phá 0.89, một lần bỏ tái, ở nào đó nguyệt hắc phong cao ban đêm, đột nhiên tới một tay thần tới chi bút, xem xét W2V huấn luyện sau từ vector, kết quả phát hiện huấn luyện ra từ vector là 0-9,
Giai đoạn nhị: score 1.2+ word2vec+Lgb Sửa đúng word2vec huấn luyện từ vector lúc sau liền đạt tới 1.2+ Bởi vì chiều sâu học tập gì cũng không hiểu, vẫn là không có đạt tới các đại lão baseline
Giải đề ý nghĩ ( số hiệu ý nghĩ ) ——copy các lộ đại lão cơ bản ý nghĩ: Đem mỗi cái điểm đánh quảng cáo id làm như một cái từ, đem một người 90 thiên nội điểm đánh quảng cáo id danh sách làm như một cái câu, sử dụng word2vec tới chế tác một cái “word embedding”, đem vấn đề chuyển hóa thành một cái NLP đề mục; đem quảng cáo id embedding uy nhập lgb—— một lần ý đồ đem sở hữu đặc thù tổ hợp huấn luyện wordembedding,keras nội tồn nổ mạnh, sau lại thử chọn lựa ba cái tiến hành tổ hợp, score ngược lại giảm xuống, khả năng tổ hợp tư thế có vấn đề
# trang bị & dẫn vào kho
!pip install wget
import wget,tarfile,zipfile
# áp súc số liệu bao download
filename = wget.download( "https://tesla-ap-shanghai-1256322946.cos.ap-shanghai.myqcloud /cephfs/tesla_common/deeplearning/dataset/algo_contest/train_preliminary.zip" )
print(filename)
# giải áp súc
zFile = zipfile.ZipFile(filename, "r" )
for fileM in zFile.namelist():
zFile.extract(fileM, "./" )
print(fileM)
zFile.close();
# dẫn vào kho
import tensorflow as tf
import pandas as pd
import numpy as np
import gc
# tụ hợp đi trọng cũng đếm hết
def get_groupby_data(data,group_zd='user_id',pj_zd='ad_id'):
data_dict=dict(list(data.groupby(group_zd)))
result=[]
for key in data_dict.keys():
result.append([key,str(data_dict[key][pj_zd].to_list())[1:-1].replace(',','')])
pd_result=pd.DataFrame(result)
pd_result.columns=[group_zd,pj_zd]
return pd_result
# thiết trí tụ hợp đặc thù
# zd_list=['ad_id','product_category','advertiser_id', 'time', 'click_times']
zd_list=['creative_id']
#train_data đọc lấy
train_ad=pd.read_csv( "../train_preliminary/ad.csv",na_values= "\\N" )
train_click_log=pd.read_csv( "../train_preliminary/click_log.csv",na_values= "\\N" )
train_user=pd.read_csv( "../train_preliminary/user.csv",na_values= "\\N" )
data=pd.merge(pd.merge(train_ad,train_click_log),train_user)
# nội tồn rửa sạch
del train_ad,train_click_log
gc.collect()
#train_data tụ hợp
for zd in zd_list:
new_data=data[[zd,'user_id']]
new_data=get_groupby_data(new_data,pj_zd=zd)
new_data=pd.merge(new_data,train_user)
new_data.to_csv(zd+ "/groupby_data/train_%s.csv" %zd,index=False)
print( "-" *10+zd+' tập hợp hoàn thành '+'-'*10)
#test_data đọc lấy
test_ad=pd.read_csv( "../test/ad.csv" )
test_click_log=pd.read_csv( "../test/click_log.csv" )
test_data=pd.merge(test_ad,test_click_log)
#test_data tụ hợp
for zd in zd_list:
test_data_new=test_data[[zd,'user_id']]
test_data_new=get_groupby_data(test_data_new,pj_zd=zd)
test_data_new.to_csv(zd+ "/groupby_data/test_%s.csv" %zd,index=False)
print( "-" *10+zd+' tập hợp hoàn thành '+'-'*10)
# dẫn vào kho
import tensorflow as tf
import pandas as pd
import numpy as np
import os
!pip install gensim
import gc
from gensim.models.word2vec import Word2Vec
# giả thiết từ vector huấn luyện tham số
num_features = 128 # Word vector dimensionality
min_word_count = 0 # Minimum word count
num_workers = 4 # Number of threads to run in parallel
context = 10 # Context window size
model_name = '{}features_{}minwords_{}context.model'.format(num_features, min_word_count, context)
# thiết trí huấn luyện đặc thù
# zd_list=['creative_id','ad_id','product_category','advertiser_id', 'time', 'click_times']
zd_list=['creative_id']
# từ vector huấn luyện
for zd in zd_list:
new_data=pd.read_csv(zd+ "/groupby_data/train_%s.csv" %zd,na_values= "\\N" )
new_data2=pd.read_csv(zd+ "/groupby_data/test_%s.csv" %zd,na_values= "\\N" )
new_data3=pd.concat([new_data,new_data2])
del new_data,new_data2
gc.collect()# rửa sạch nội tồn
sentences_list = []
# chú ý: Yêu cầu split truyền vào list, lần đầu tiên không có split huấn luyện từ mô hình là 0-9
for line in new_data3[zd]:
sentences_list.append(line.split())
model = Word2Vec(sentences_list, workers=num_workers, \
size=num_features, min_count = min_word_count, \
window = context)
model.save(os.path.join(zd, 'models', model_name))
print( "-" *10+zd+' huấn luyện hoàn thành '+'-'*10)
# dẫn vào kho
import tensorflow as tf
import pandas as pd
import numpy as np
import os
!pip install gensim
from gensim.models.word2vec import Word2Vec
def to_review_vector(review):
global word_vec
word_vec = np.zeros((1,300))
for word in review.split():
#word_vec = np.zeros((1,300))
if word in fastmodel:
word_vec += np.array([fastmodel[word]])
#print (word_vec.mean(axis = 0))
return pd.Series(word_vec.mean(axis = 0))
# bởi vì máy móc hạn chế, số liệu phân đoạn đặc thù hóa & tồn trữ
#zd_list=['creative_id','ad_id','product_category','advertiser_id', 'time', 'click_times']
model_name='300features_0minwords_10context.model'
# zd_list=['product_category','advertiser_id', 'time', 'click_times']
zd_list=['creative_id']
for zd in zd_list:
data=pd.read_csv(zd+ "/groupby_data/train_%s.csv" %zd)
try:
os.mkdir(zd+ "/train_feature" )
except:
pass
fastmodel=Word2Vec.load(zd+'/models/'+model_name)
count=0
mm=0
for i in range(100000,len(data)+1,100000):
train_data_features = data[count:i][zd].apply(to_review_vector)
w2c_data=pd.concat([data[count:i][['user_id','age','gender']],train_data_features],axis=1)
w2c_data.to_csv(zd+ "/train_feature/w2c_data_%s%s.csv" %(zd,mm),index=False)
print( "---%s đệ %s đoạn số liệu đặc thù vector hóa hoàn thành ---" %(zd,mm))
mm+=1
count=i
# dẫn vào kho
!pip install lightgbm
import lightgbm as lgb
from sklearn.metrics import mean_squared_error
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import tensorflow as tf
import pandas as pd
import numpy as np
import os
import gc
# zd_list=['creative_id','ad_id','product_category','advertiser_id','time','click_times']
zd_list=['creative_id']
# phân đoạn đặc thù số liệu xác nhập
for zd in zd_list:
path=zd+ "/train_feature/"
wjs=os.listdir(path)
data=pd.DataFrame()
for wj in wjs:
data_path=path+wj
data0=pd.read_csv(data_path)#.drop(zd,axis=1)
data=data.append(data0)
print(len(data))
data.columns=[zd+'_'+cc if cc not in ['user_id', 'age', 'gender'] else cc for cc in data.columns]
if zd==zd_list[0]:
data1=data
else:
data1=pd.merge(data1,data)
gc.collect()# rửa sạch nội tồn
print('!'*10+zd+' ghép nối hoàn thành ')
# nội tồn rửa sạch
del data,data0
gc.collect()
#age mô hình huấn luyện
train_x=data1[data1.columns.difference(['user_id','age','gender'])]
target=data1.age.astype(int)
# phân chia huấn luyện tập cùng thí nghiệm tập
X_train, X_test, y_train, y_test = train_test_split(train_x, target, test_size=0.2)
del train_x,data1
gc.collect()# rửa sạch nội tồn
print( "Train data length:", len(X_train))
print( "Test data length:", len(X_test))
# thay đổi vì Dataset số liệu cách thức
lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train)
# tham số
params = {
'task': 'train',
'boosting_type': 'gbdt', # thiết trí tăng lên loại hình
'objective': 'multiclass', # mục tiêu hàm số
'num_class': 11,
# 'metric': {'l2', 'auc'}, # đánh giá hàm số
'num_leaves': 31, # lá cây tiết điểm số
'learning_rate': 0.05, # học tập tốc độ
'feature_fraction': 0.9, # thành tựu đặc thù lựa chọn tỉ lệ
'bagging_fraction': 0.8, # thành tựu hàng mẫu thu thập mẫu tỉ lệ
'bagging_freq': 5, # k ý nghĩa mỗi k thứ thay đổi chấp hành bagging
'verbose': 1 # <0 biểu hiện trí mạng, =0 biểu hiện sai lầm ( cảnh cáo ), >0 biểu hiện tin tức
}
# mô hình huấn luyện
gbm = lgb.train(params, lgb_train, num_boost_round=1000, valid_sets=lgb_eval, early_stopping_rounds=5)
# mô hình bảo tồn
gbm.save_model('model_age.txt'
# mô hình thêm tái
gbm = lgb.Booster(model_file='model_age.txt')
# mô hình đoán trước
y_prob = gbm.predict(X_test, num_iteration=gbm.best_iteration)
arr=pd.DataFrame(y_prob)
arr['max_value']=arr.max(axis=1)
arr['max_index']=np.argmax(y_prob,axis=1)
y_pred1=arr['max_index']
# mô hình đánh giá
print('The rmse of prediction is:', mean_squared_error(y_test,y_pred1) ** 0.5)
#gender mô hình huấn luyện
train_x=data1[data1.columns.difference(['user_id','age','gender'])]
target=data1.gender.astype(int)
# phân chia huấn luyện tập cùng thí nghiệm tập
X_train, X_test, y_train, y_test = train_test_split(train_x, target, test_size=0.2)
del train_x,data1
gc.collect()# rửa sạch nội tồn
print( "Train data length:", len(X_train))
print( "Test data length:", len(X_test))
# thay đổi vì Dataset số liệu cách thức
lgb_train = lgb.Dataset(X_train, y_train)
lgb_eval = lgb.Dataset(X_test, y_test, reference=lgb_train)
# tham số
params = {
'task': 'train',
'boosting_type': 'gbdt', # thiết trí tăng lên loại hình
'objective': 'multiclass', # mục tiêu hàm số
'num_class': 11,
# 'metric': {'l2', 'auc'}, # đánh giá hàm số
'num_leaves': 31, # lá cây tiết điểm số
'learning_rate': 0.05, # học tập tốc độ
'feature_fraction': 0.9, # thành tựu đặc thù lựa chọn tỉ lệ
'bagging_fraction': 0.8, # thành tựu hàng mẫu thu thập mẫu tỉ lệ
'bagging_freq': 5, # k ý nghĩa mỗi k thứ thay đổi chấp hành bagging
'verbose': 1 # <0 biểu hiện trí mạng, =0 biểu hiện sai lầm ( cảnh cáo ), >0 biểu hiện tin tức
}
# mô hình huấn luyện
gbm = lgb.train(params, lgb_train, num_boost_round=1000, valid_sets=lgb_eval, early_stopping_rounds=5)
# mô hình bảo tồn
gbm.save_model('model_gender.txt')
# mô hình thêm tái
gbm = lgb.Booster(model_file='model_gender.txt')
# mô hình đoán trước
y_prob = gbm.predict(X_test, num_iteration=gbm.best_iteration)
arr=pd.DataFrame(y_prob)
arr['max_value']=arr.max(axis=1)
arr['max_index']=np.argmax(y_prob,axis=1)
y_pred1=arr['max_index']
# mô hình đánh giá
print('The rmse of prediction is:', mean_squared_error(y_test,y_pred1) ** 0.5)
# dẫn vào kho
!pip install lightgbm
import lightgbm as lgb
from sklearn.metrics import mean_squared_error
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import tensorflow as tf
import pandas as pd
import numpy as np
import gc
import os
# zd_list=['creative_id','ad_id','product_category','advertiser_id', 'time', 'click_times']
zd_list=['creative_id']
for zd in zd_list:
path=zd+ "/test_feature/"
wjs=os.listdir(path)
# wjs=os.listdir(path)[5:]
data=pd.DataFrame()
for wj in wjs:
data_path=path+wj
data0=pd.read_csv(data_path).drop(zd,axis=1)
data=data.append(data0)
del data0
gc.collect()# rửa sạch nội tồn
print(len(data))
data.columns=[zd+'_'+cc if cc not in ['user_id'] else cc for cc in data.columns]
# data.columns=[zd+'_'+cc if cc not in ['user_id', 'age', 'gender'] else cc for cc in data.columns]
if zd==zd_list[0]:
data1=data
else:
data1=pd.merge(data1,data)
del data
gc.collect()# rửa sạch nội tồn
print('!'*10+zd+' ghép nối hoàn thành ')
# data1=data1[:500000]
data1=data1[500000:]
result=data1[['user_id']].reset_index(drop=True)
test_X=data1[data1.columns.difference(['user_id'])]
del data1
gc.collect()# rửa sạch nội tồn
# mô hình thêm tái
gbm = lgb.Booster(model_file='model_age.txt')
# mô hình đoán trước
y_test = gbm.predict(test_X, num_iteration=gbm.best_iteration)
arr=pd.DataFrame(y_test)
arr['max_value']=arr.max(axis=1)
arr['max_index']=np.argmax(y_test,axis=1)
result['age']=arr['max_index']
# mô hình thêm tái
gbm = lgb.Booster(model_file='model_gender.txt')
# mô hình đoán trước
y_test = gbm.predict(test_X, num_iteration=gbm.best_iteration)
arr=pd.DataFrame(y_test)
arr['max_value']=arr.max(axis=1)
arr['max_index']=np.argmax(y_test,axis=1)
result['gender']=arr['max_index']
result.columns=['user_id','predicted_age','predicted_gender']
# result.to_csv('submission1.csv',index=False)
result.to_csv('submission2.csv',index=False)
print(len(result))
import pandas as pd
import numpy as np
# văn kiện xác nhập
data1=pd.read_csv( "submission1.csv" )
data2=pd.read_csv( "submission2.csv" )
data=pd.concat([data1,data2])
print(len(data))
data.to_csv( "submission.csv",index=False)
from ti import session
ti_session = session.Session()
# path: Kết quả văn kiện đường nhỏ
# bucket: Chỉ định tồn trữ thùng.
# key_prefix: Tồn trữ thùng hạ cos đường nhỏ
inputs = ti_session.upload_data(path= "submission.csv", bucket= "game-gt-1252065438", key_prefix= "test" )
【00】Như thế nào sử dụng TI-ONE Notebook chơi chuyển thuật toán đại tái
【01】Dễ xem giới tính tuổi tác đoán trước chizhu đại lão quán quân khai nguyên
【02】2020 Đằng Tấn quảng cáo thuật toán đại tái: Tái đề lý giải cùng giải đề ý nghĩ
【03】2020 Đằng Tấn quảng cáo thuật toán đại tái cơ bản ý nghĩ ( tuyến thượng 1.3+ )
【04】2020 Đằng Tấn quảng cáo thuật toán đại tái: Như thế nào đột phá điểm bình cảnh?
【05】2020 Đằng Tấn quảng cáo thuật toán đại tái: Cao phân tiến giai
【08】Siêu giá trị tái đề chia sẻ đại lễ bao, ngươi “Sáu một” lễ vật tới lạc!
【11】【 đặc sắc đoàn đội phỏng vấn 】1+1+1>3? Xem tân nhân đoàn đội như thế nào hiệu suất cao hợp tác
Đặc biệt cảm tạ các vị đại lão chia sẻ, tuy rằng cuối cùng chưa đi đến đấu bán kết, cũng coi như cảm thụ một đợt thuật toán mị lực, đặc biệt cảm tạ cá lão kiên nhẫn giải thích nghi hoặc; cuối cùng còn phải đặc biệt cảm tạ hạĐằng Tấn trí năng thái máy móc học tập TI-ML,Bằng không ta kia cặn bã máy móc liền số liệu đều đọc không xong liền nội tồn tràn ra, xác thật khá tốt dùng, ta chỉ dùng notebook, đã tổng thể hảo tensflow hoàn cảnh, tặc phương tiện, còn có mặt khác máy móc học tập thao tác, không chơi chuyển, đối notebook tương đối thục! Toàn bộ hành trình đều là notebook, hơn nữa đối với xã súc mà nói còn có chỗ tốt chính là vân thượng đồng bộ, bất luận ở đâu ta đều không cần đem số hiệu chuyển lại đây chuyển qua đi, chỉ cần liền võng liền có thể nhìn đến ngươi ban đầu thao tác số hiệu, thậm chí còn ở công ty điểm vận hành, ngồi cái tàu điện ngầm về đến nhà trực tiếp đổ bộ xem kết quả! Từ lúc bắt đầu cảm giác đặc biệt phiền toái không thói quen, đến cuối cùng” thật hương "!!! Không ai thoát được rớt vương kính trạch định luật ( tịch thu ngỗng xưởng quảng cáo phí, phiền toái Đằng Tấn vân thấy được cấp đánh bút quảng cáo phí )
Bổn văn chia sẻ tựTác giả cá nhân trạm điểm / blogĐi trước xem xét
Như có xâm quyền, thỉnh liên hệcloudcommunity@tencentXóa bỏ.
Bổn văn tham dựĐằng Tấn vân tự truyền thông đồng bộ cho hấp thụ ánh sáng kế hoạch,Hoan nghênh nhiệt ái viết làm ngươi cùng nhau tham dự!