第一向大家与《TensorFlow实战》的撰稿人说词不好意思。我现在拘留的书写是《TensorFlow实战》。但自TF024开始,我当读书笔记的参考资料里直接写的是《TensorFlow实践》,我好粗心搞错了,希望不至于对大家造成极其多误导。

2017年11月11日24沾,天猫双11举世狂欢节交易额冲破1682亿元,超过上年1207亿的净天成交总额;而京东商城则披露以11天之购物季中累计实现1271亿头的下单金额。

TensorBoard,TensorFlow官方可视化工具。展示模型训练过程各种汇总数据。标量(Scalars)、图片(Images)、音频(audio)、计算图(Graphs)、数据分布(Distributions)、直方图(Histograms)、嵌入向量(Embeddings)。TensorBoard展示数据,执行TensorFlow计算图过程,各种类型数据汇总并记下到日志文件。TensorBoard读取日志文件,解析数据,生成数据可视化Web页,浏览器观察各种汇总数据。

股价方面,阿里京东现年打破了“双 11”下跌的魔咒。到周五收盘,阿里高升
0.69%,报 186.41 美元;京东呢涨幅上涨 0.40%,报收于 39.96
美元。今年凡是阿里巴巴的第九只“双11”,而京东为是第八年举办双 11
促销了。我们从交易额、入驻品牌和优化促销、网络与开发、物流来跟大家齐声回忆当时会史诗级战争。

载入TesnsorFlow,设置训练太要命步数1000,学习速率0.001,dropout保留比率0.9。设置MNIST数据下载地址data_dir、汇总数据日志存放路径log_dir。日志路径log_dir存所有汇总数据。

交易额

input_data.read_data_sets下载MNIST数据,创建TensorFlow默认Session。

关于前面提到的总交易额,我们或可以通过阿里京东关于“1000
亿元”销售额的争论看出两岸的“花招”。

with tf.name_scope限定命名空间。定义输入x、y
placeholder。输入一维数目变形28×28图纸储存到tensor,tf.summary.image汇总图片数TensorBoard展示。

天猫宣布“天猫双 11 全球狂欢节”截止 11 日 9 点多交易额超过 1000
亿状元,而京东呢表示“京东大世界好物节”截止 11 月 11 日勿至 8 点下单金额突破
1000 亿首批。

概念神经网络模型参数初始化方法,权重用truncated_normal初始化,偏置赋值0.1。

当下和大家的认知不绝雷同对吧,很多丁应看天猫的体量更不行。原因在天猫统计数字的前奏时间是
11 月 11 日零点,而京东则是自从 11 月 1 日零点开始统计。

概念Variable变量数据汇总函数,计算Variable
mean、stddev、max、min,tf.summary.scalar记录、汇总。tf.summary.histogram记录变量var直方图数据。

幸亏以是缘故,阿里巴巴集团市场公关委员会主席王帅于 11
日上午说“只得承认京东数学好好,他们戏谑就是吓”,
并补充说“如果自己没记错,京东及时几年已是第七次于调动其的数目统计标准了”。

统筹MLP多重合神经网络训练多少,每一样交汇集中模型参数数据。定义创建同叠神经网络数据汇总函数nn_layer。输入参数,输入数据input_tensor、输入维度input_dim、输出维度output_dim、层名称layer_name。激活函数act用ReLU。初始化神经网络权重、偏置,用variable_summaries汇总variable数据。输入,矩阵乘法,加偏置,未激活结果用tf.summary.histogram统计直方图。用激活函数后,tf.summary.histogram再统计一糟糕。

假如微博 ID
为“神棍敌人姐”的阿里巴巴集团安全部成员表示京东利用的“下单独金额”衡量标准和“交易金额”是殊的定义,交易要用户展开开。“神棍敌人姐”称平时气象下开发/下单比例约是
70%,或者略小,而“大促在正常状况下低于 55%”。

nn_layer创建同重合神经网络,输入维度图片尺寸28×28=784,输出维度隐藏节点数500。创建Dropout层,用tf.summary.scalar记录keep_prob。用nn_layer定义神经网络输出层,输入维度为上层隐含节点数500,输出维度类别数10,激活涵数全等映射identity。

截图来自微博

tf.nn.softmax_cross_entropy_with_logits()对眼前输出层结果Softmax处理,计算交叉熵损失cross_entropy。计算平均损失,tf.summary.scalar统计汇总。

京东集团 CMO 徐雷对“京东数学好好”时表示“你家可以提前预售 20
多生后算一天销售额,那我家就非能够健康开门做买卖算 11
天的销售额了?”,并指出天猫商家以双 11 前的 20
多上可以销售,但是力不从心得到市。

Adma优化器优化损失。统计预测是样本数,计算正确率accury,
tf.summary.scalar统计汇总accuracy。

优越、折扣和品牌

tf.summary.merger_all()获取具有汇总操作。定义两单tf.summary.FileWriter(文件记录器)在不同子目录,分别寄存训练与测试日志数据。Session计算图sess.graph加入训练过程记录器,TensorBoard
GRAPHS窗口亮周计算图可视化效果。tf.global_variables_initializer().run()初始化全部变量。

于顾客来说,影响她们说了算去哪个平台购得商品的因素要概括平台及之品牌商以及供的特惠和折扣。

定义feed_dict损失函数。先判断训练标记,True,从mnist.train获取一个batch样本,设置dropout值;False,获取测试数据,设置keep_prob
1,没有dropout效果。

今年有14万品牌与天猫双十一,京东点虽然称有十几万寒品牌与促销活动。

实际上执行实际训练、测试、日志记录操作。tf.train.Saver()创建模型保存器。进入训练循环,每隔10步执行merged(数据汇总)、accuracy(求测试集预测准确率)操作,test_writer.add_sumamry将集中结果summary和循环步数i写副日志文件。每隔100步,tf.RunOptions定义TensorFlow运行选项,设置trace_lever
FULL_TRACE。tf.RunMetadata()定义TensorFlow运行元信息,记录训练运算时跟内存占用等消息。执行merged数据汇总操作,train_step训练操作,汇总结果summary、训练元信息run_metadata添加到train_writer。执行merged、train_step操作,添加summary到train_writer。所有训练一切了却,关闭train_writer、test_writer。

以前发生媒体报道由于来天猫的压力,一些品牌商被迫关门京东店铺
。根据《华夏商报》,如果被通报之店铺设未闭馆其他一个阳台的店家,“另一样贱平台尽管未会见开下架干预,但是会当旁点开文章,比如用货品所于会场位置下调,或者会场内部没有您商品之示”。

切换Linux命令行,执行TensorBoard程序,–logdir指定TensorFlow日志路径,TensorBoard自动生成所有汇总数据可视化结果。
tensorboard –logdir=/tmp/tensorflow/mnist/logs/mnist_with_summaries
复制网址到浏览器。

事实上,部分品牌如今从未在京东平台的法定企业,包括今年双 11
的天猫女装类冠军品牌优衣库。

开辟标量SCALARS窗口,打开accuracy图表。调整Smoothing参数,控制曲线平滑处理,数值越聊更是接近实际值,波动非常;数值越充分曲线更和。图表下方按钮放大图片,右边按钮调整为标轴范围。

于优化点,正如我的同事博源所说,“两家今年都花样耍猴是实”。下图左为天猫的双
11
购物津贴介绍,右边为京东的优惠券页面。天猫的逾越店满减规则略,但是呢购物津贴设置了复杂的规则,用户要想纯应用首先需要了解津贴、购物券、优惠券、红包的区分。京东的优惠券同样复杂,不同优惠券适用于不同商品。用户就是在京东超市购物,对于不同之货物为如下不同的盈减券。

切换图像IMAGES窗口,可以看看有tf.summary.image()汇总数据。

另外,天猫还采用了定金膨胀的玩法。消费者提前支付定金一方面可以帮公司提前摸底购买情况,有指向地进行备货;另一方面,定金可以叫用户还快收到货物,在她们补齐尾款之后,商品会继续打用户本地集散为主来,完成派货流程。

计量图GRAPHS窗口,整个TensorFlow计算图结构。网络forward
inference流程,backward训练更新参数流程。实线代表数量因关系,虚线代表控制规范依赖关系。节点窗口,看属性、输入、输出和tensor尺寸。

图也平称为用户支出完定金的物流情况

“+”按钮,展示node内部细节。所有同一命名空间节点被折叠一起。右键单击节点选择去。

网和技术支持

切换配色风络,基于结构,同结构节点和颜色;基于运算硬件,同运算硬件节点和颜色。

自从 2009 年第一差推出“双 11”,天猫平台的交易额实现指数级增长,5200
万首上涨到当年震惊的 1682 亿初。

Session runs,选择run_metadata训练元信息。

快速增长的贸易背后天猫也遇了技能挑战。

切换DISTRIBUTIONS窗口,看各个神经网络层输出分布,激活函数前后结果。看看发生没有出叫屏蔽节点(dead
neurons)。转为直方图。

2015 年 11 月 11
日黎明,通过淘宝抢购的用户无法提交购物车,被唤起“数据加载失败”、“被挤爆啦”,而因是当深不够的流年内访问量过强。阿里云总裁胡晓明说称,大量用户在零点涌入、创建市、进行付出,相当给一致破黑客攻击。同一年,双十一内的汪洋订单导致节后起“快递爆仓”,用户收货时间低于平时。

EMBEDDINGS窗口,降维嵌入向量可视化效果。tf.save.Saver保存整个模型,TensorBoard自动对范有二维Variable可视化(只有Variable可以被保存,Tensor不行)。选择T-SNE或PCA算法对数据列(特征)降维,在3D、2D坐标可视化展示。对Word2Vec计量还是Language
Model非常管用。

缺日外大量用户访问对平台是未小之挑战。今年国庆中,男明星鹿晗公布热恋之微博引起了微博宕机
,客户端用户无法刷新,访问异常缓慢。

    import tensorflow as tf
    from tensorflow.examples.tutorials.mnist import input_data
    max_steps=1000
    learning_rate=0.001
    dropout=0.9
    data_dir='/tmp/tensorflow/mnist/input_data'
    log_dir='/tmp/tensorflow/mnist/logs/mnist_with_summaries'
      # Import data
    mnist = input_data.read_data_sets(data_dir,one_hot=True)
    sess = tf.InteractiveSession()
      # Create a multilayer model.
      # Input placeholders
    with tf.name_scope('input'):
      x = tf.placeholder(tf.float32, [None, 784], name='x-input')
      y_ = tf.placeholder(tf.float32, [None, 10], name='y-input')
    with tf.name_scope('input_reshape'):
      image_shaped_input = tf.reshape(x, [-1, 28, 28, 1])
      tf.summary.image('input', image_shaped_input, 10)
      # We can't initialize these variables to 0 - the network will get stuck.
    def weight_variable(shape):
      """Create a weight variable with appropriate initialization."""
      initial = tf.truncated_normal(shape, stddev=0.1)
      return tf.Variable(initial)
    def bias_variable(shape):
      """Create a bias variable with appropriate initialization."""
      initial = tf.constant(0.1, shape=shape)
      return tf.Variable(initial)
    def variable_summaries(var):
      """Attach a lot of summaries to a Tensor (for TensorBoard visualization)."""
      with tf.name_scope('summaries'):
        mean = tf.reduce_mean(var)
        tf.summary.scalar('mean', mean)
        with tf.name_scope('stddev'):
          stddev = tf.sqrt(tf.reduce_mean(tf.square(var - mean)))
        tf.summary.scalar('stddev', stddev)
        tf.summary.scalar('max', tf.reduce_max(var))
        tf.summary.scalar('min', tf.reduce_min(var))
        tf.summary.histogram('histogram', var)
    def nn_layer(input_tensor, input_dim, output_dim, layer_name, act=tf.nn.relu):
      """Reusable code for making a simple neural net layer.
      It does a matrix multiply, bias add, and then uses relu to nonlinearize.
      It also sets up name scoping so that the resultant graph is easy to read,
      and adds a number of summary ops.
      """
      # Adding a name scope ensures logical grouping of the layers in the graph.
      with tf.name_scope(layer_name):
        # This Variable will hold the state of the weights for the layer
        with tf.name_scope('weights'):
          weights = weight_variable([input_dim, output_dim])
          variable_summaries(weights)
        with tf.name_scope('biases'):
          biases = bias_variable([output_dim])
          variable_summaries(biases)
        with tf.name_scope('Wx_plus_b'):
          preactivate = tf.matmul(input_tensor, weights) + biases
          tf.summary.histogram('pre_activations', preactivate)
        activations = act(preactivate, name='activation')
        tf.summary.histogram('activations', activations)
        return activations
    hidden1 = nn_layer(x, 784, 500, 'layer1')
    with tf.name_scope('dropout'):
      keep_prob = tf.placeholder(tf.float32)
      tf.summary.scalar('dropout_keep_probability', keep_prob)
      dropped = tf.nn.dropout(hidden1, keep_prob)
      # Do not apply softmax activation yet, see below.
    y = nn_layer(dropped, 500, 10, 'layer2', act=tf.identity)
    with tf.name_scope('cross_entropy'):
        # The raw formulation of cross-entropy,
        #
        # tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(tf.softmax(y)),
        #                               reduction_indices=[1]))
        #
        # can be numerically unstable.
        #
        # So here we use tf.nn.softmax_cross_entropy_with_logits on the
        # raw outputs of the nn_layer above, and then average across
        # the batch.
      diff = tf.nn.softmax_cross_entropy_with_logits(logits=y, labels=y_)
      with tf.name_scope('total'):
        cross_entropy = tf.reduce_mean(diff)
    tf.summary.scalar('cross_entropy', cross_entropy)
    with tf.name_scope('train'):
      train_step = tf.train.AdamOptimizer(learning_rate).minimize(
      cross_entropy)
    with tf.name_scope('accuracy'):
      with tf.name_scope('correct_prediction'):
        correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
      with tf.name_scope('accuracy'):
        accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
    tf.summary.scalar('accuracy', accuracy)
      # Merge all the summaries and write them out to /tmp/mnist_logs (by default)
    merged = tf.summary.merge_all()
    train_writer = tf.summary.FileWriter(log_dir + '/train', sess.graph)
    test_writer = tf.summary.FileWriter(log_dir + '/test')
    tf.global_variables_initializer().run()
      # Train the model, and also write summaries.
      # Every 10th step, measure test-set accuracy, and write test summaries
      # All other steps, run train_step on training data, & add training summaries
    def feed_dict(train):
      """Make a TensorFlow feed_dict: maps data onto Tensor placeholders."""
      if train:
        xs, ys = mnist.train.next_batch(100)
        k = dropout
      else:
        xs, ys = mnist.test.images, mnist.test.labels
        k = 1.0
      return {x: xs, y_: ys, keep_prob: k}

    saver = tf.train.Saver()  
    for i in range(max_steps):
      if i % 10 == 0:  # Record summaries and test-set accuracy
        summary, acc = sess.run([merged, accuracy], feed_dict=feed_dict(False))
        test_writer.add_summary(summary, i)
        print('Accuracy at step %s: %s' % (i, acc))
      else:  # Record train set summaries, and train
        if i % 100 == 99:  # Record execution stats
          run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
          run_metadata = tf.RunMetadata()
          summary, _ = sess.run([merged, train_step],
                                feed_dict=feed_dict(True),
                                options=run_options,
                                run_metadata=run_metadata)
          train_writer.add_run_metadata(run_metadata, 'step%03d' % i)
          train_writer.add_summary(summary, i)
          saver.save(sess, log_dir+"/model.ckpt", i)
          print('Adding run metadata for', i)
        else:  # Record a summary
          summary, _ = sess.run([merged, train_step], feed_dict=feed_dict(True))
          train_writer.add_summary(summary, i)
    train_writer.close()
    test_writer.close()

渐渐成熟之双 11 技术团队今年吧“放大招”,称“可以抗住 10
只鹿晗的流量”(题图)。

 

玩笑背后是技术创新。阿里巴巴集团于本月初公布,天猫双 11
期间,其张北数据基本的巡检工作将出于智能运维机器人“阿里巴巴天巡”
完成。

参考资料:
《TensorFlow实战》

张北数据基本凡是历年“天猫双
11”的基本数据处理为主,承载着庞大的阳台交易量和数码测算任务。而天巡是现阶段互联网数据主导精度高的智能运维机器人。届时,天巡将不分昼夜进行巡检工作,以降低工作人员的劳动强度,同时提高了数额主导的安康巡检效率和质量。

欢迎付费咨询(150首届各个小时),我的微信:qingxingfengzi

基于官方数据,今年支付宝也出生新峰值:25.6 万笔/秒,而去年之之数字是
12 万笔/秒。同时诞生的还来数据库处理峰值,4200
万次/秒,这是支付宝首软发表数据库峰值。

假定京东啊就生产了友好的支付工具,但是没有披露具体的支出数字。

物流

物流是京东的传统优势所当,也是京东当阿里着力的电商市场夺得一海羹的关键因素。京东快及时的配送服务(上午
11 点前下独自下午送达,下午 4 点前下只有第二上上午送达)得到许多用户称。

早以当年9月,京东物流宣布为商家提供价值6.66亿元的补贴,用于为京东平台企业跟其余铺面以双
11 前之备货提供仓储、配送折扣等。

随即快递企业中通快递、韵达快递在 10
月中旬涨价,于是京东揭晓京东物流的贴由原先计划之 6.66 亿提升到 21 亿。

假设阿里巴巴为在迎头追赶。

9 月之,阿里巴巴颁布将增持
旗下菜鸟网的股份,并以于就投入数百亿头版的根底及,未来五年持续投入 1000
亿第一,加快建设世界领先的物流网络,实现中国 24 小时、全球 72 小时必达。

机器人物流也是逐一电商公司的发力重点有。

自亚马逊至天猫和京东,电商巨头都早就运用了仓库机器人。你得管这些小箱子样的机器人理解为自然水平达到的自行开,他们不断给仓库,可以识别彼此,决定通行顺序,并扛重物。

今以及前景

即,阿里巴巴独具多年之聚积,因此平台及的货非常完备,而京东的量级相对还粗,但是当物流点负有无可争辩的优势。

京东方通过与除阿里巴巴外的要员们通力合作寻求更甚之市场份额。京东的股东腾讯自不必说,京东尚跟今天头长条、百度、360、网易、搜狗等控制流量的阳台及了通力合作。以今天条修为条例,达成合作后,今日条条上立购物入口“京东特卖”。此外,今日头久与京东以营销、内容变现等领域进行合作。

每当作者看来,京东远大的地方在挑战巨头阿里巴巴,并且取得肯定的市场份额。觊觎电商市场之庄多,幻想取代阿里之呢铺天盖地,但单单出京东站稳了跟。

本来,京东还有不少地方要进一步追赶,包括可驻企业数量、电商网红孵化、云业务等。短期来拘禁阿里巴巴用继续保障主导地位,而老是否会面给另外店铺跨越,需要时验证。

书图来源网络

一个程序员学习平台分享给你们,让你在实施着积累经验掌握规律。主要倾向是JAVA工程师。如果你想拿高薪,想突破瓶颈,想以及他人竞争能取得优势的,想进BAT但是有顾虑面试不了的,可加我之Java学习交流群:282711949。

流动:加群要求

1、大学读之凡Java相关标准,毕业后面试受挫,找不交对口工作好

2、在公司要久了,现在过得不得了舒适,但跳槽时面试碰壁。需要在少日内进修、跳槽拿高薪的

3、参加过线下栽培后,知识点掌握不敷深刻,就业困难,想继承上学

4、已经当Java相关单位上班的在职人员,对本人职业规划不清晰,混日子的

5、有必然之C语言基础,接触过java开发,想转行的

小号勿扰,不欣赏不加