anacoda

作者: 哪种生活可以永远很轻松 | 来源:发表于2018-06-03 10:00 被阅读29次

    conda create -n tensorflow python=3.5 现在可以支持3.6

    所以
    · 首先创建一个tensorflow的environment
    · tensorflow这个包内 运行conda list发现很多东西都没有 所以在包内再次安装
    '''install anaconda'''

    镜像https://mirrors6.tuna.tsinghua.edu.cn/

    解决keras的mnist没法加载数据集的问题 因为网络

    从网上找镜像下载 放到本地目录 在load方法里修改path为本地路径 取消MD5检验
    或者
    在mnist_方法里加入load方法里的语句 直接处理本地文件

    https://blog.csdn.net/sunyangwei1993/article/details/73998297

    Try

    http://friskit.me/2015/06/29/keras-mnist/

    问题

    因为训练集的图片都是黑底白字,所以自己写的也应该是黑底白字!

    https://blog.csdn.net/Sparta_117/article/details/66965760
    TensorFlow™ 是一个采用数据流图,用于数值计算的开源软件库。它是一个不严格的“神经网络”库,可以利用它提供的模块搭建大多数类型的神经网络。
    MNIST是一个巨大的手写数字数据集,被广泛应用于机器学习识别领域。MNIST有60000张训练集数据和10000张测试集数据,每一个训练元素都是28*28像素的手写数字图片。作为一个常见的数据集,MNIST经常被用来测试神经网络,也是比较基本的应用。

    过滤器,即卷积核

    便可得到这一部分的特征值,即图中的卷积特征。

    下面我们就要对它进行预处理,缩小它的大小为28*28像素,并转变为灰度图,进行二值化处理。我使用的是Opencv对图像进行处理,

    权重初始化init方法为normal,激活函数activation的类型为relu。输出层具有10个神经元,权重初始化方法为normal,激活函数的类型为softmax。我们选择的损失函数loss类型为categorical_crossentropy,即 Logarithmic 损失函数,优化方式类型选用的是adam,即 ADAM 梯度下降算法。

    model.predict_proba 和 model.predict_classes

    https://stackoverflow.com/questions/43963435/keras-predict-proba-predict-and-predict-classes-issues

    """
    def predict_proba(self, x, batch_size=None, verbose=0, steps=None):
    """Generates class probability predictions for the input samples.

        The input samples are processed batch by batch.
    
        # Arguments
            x: input data, as a Numpy array or list of Numpy arrays
                (if the model has multiple inputs).
            batch_size: Integer. If unspecified, it will default to 32.
            verbose: verbosity mode, 0 or 1.
            steps: Total number of steps (batches of samples)
                before declaring the prediction round finished.
                Ignored with the default value of `None`.
    
    
        # Returns
            A Numpy array of probability predictions.
        """
        preds = self.predict(x, batch_size, verbose, steps=steps)
        if preds.min() < 0. or preds.max() > 1.:
            warnings.warn('Network returning invalid probability values. '
                          'The last layer might not normalize predictions '
                          'into probabilities '
                          '(like softmax or sigmoid would).')
        return preds
    
    def predict_classes(self, x, batch_size=None, verbose=0, steps=None):
        """Generate class predictions for the input samples.
    
        The input samples are processed batch by batch.
    
        # Arguments
            x: input data, as a Numpy array or list of Numpy arrays
                (if the model has multiple inputs).
            batch_size: Integer. If unspecified, it will default to 32.
            verbose: verbosity mode, 0 or 1.
            steps: Total number of steps (batches of samples)
                before declaring the prediction round finished.
                Ignored with the default value of `None`.
    
        # Returns
            A numpy array of class predictions.
        """
        proba = self.predict(x, batch_size=batch_size, verbose=verbose,
                             steps=steps)
        if proba.shape[-1] > 1:
            return proba.argmax(axis=-1)
        else:
            return (proba > 0.5).astype('int32')
    

    """

    classes的代码中有'''
    if proba.shape[-1] > 1:
    return proba.argmax(axis=-1)
    else:
    return (proba > 0.5).astype('int32')
    '''
    其中proba是numpy下的list,shape返回每一维的大小。
    这里程序运行的时候classes返回的数据都是1,也就是这里的原因。所以要搞清楚的是proba.shape[-1]<=1代表什么?
    从数组的角度,shape[-1]代表的是数组的最后一个值,在这里也就是proba中最后一维数据的大小,<=1即代表没有数据或者只有一个数据。
    那么,proba的数据是什么?

    A Numpy array of predictions.

    目前的思路:
    由于在classes的方法内部,要判断predict返回的数组最后一维的数据是不是多于1个。而在拟合一次函数的程序中,神经网络的输出的确是一维输出,所以产生的效果是只返回了1.

    梯度爆炸

    https://www.jianshu.com/p/9018d08773e6
    学习率 参数 损失函数

    损失函数和激活函数的选择

    https://blog.csdn.net/Mbx8X9u/article/details/78140236
    http://www.csuldw.com/2016/03/26/2016-03-26-loss-function/

    机器学习拟合高次函数

    https://blog.csdn.net/cymy001/article/details/78647933

    相关文章

      网友评论

          本文标题:anacoda

          本文链接:https://www.haomeiwen.com/subject/wtwzdftx.html