自己动手写深度学习框架(快速学习python和关联库)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

既然目前深度学习大部分都是python开发为主,那我们就学习一下python好了。早前还有python2、python3之分,不过现在大部分都是使用python3了。本身python就是一门脚本语言,和我们之前说的lua很像。所有的细节,都放在了python后面,用户只需要把这些脚本串起来就可以了。关注于库的使用即可,而不是库的实现。

1、快速学习python语言

学习一门语言,其实不复杂,主要就是学习它的数据类型、打印、if-else、循环、函数和类。不管是python,还是c#、java、go、rust都是这样的。只要把握了这一规律,就可以在短时间内学习好一门语言。

复制代码
'''
 demo1 code
 
usage:
 C:\Python27\python.exe exer1.py
'''

## data

type(10)
type(2.718)
type('hello')

## assignment

x=10
print(x)
x=100
print(x)

## list

a=[1,2,3,4,5]
print(a)
print(a[0:2])

## dict

me={'height':180}
print(me)
print(me['height'])

## if - else

a = 10
b = 5
if a > b:
    print('a is bigger than b')
else:
    print('b is bigger than a')


## about loop

count = 0
for i in range(100):
    count += i
print(count)


## about function

def iterate(data):
    if 1 == data:
        return 1
    else:
        return iterate(data-1)+data
        
print('after function was defined')
print(iterate(100))

## about class

class parent:
    def __init__(self, a):
        self.a_ = a
        
    def set_func(self):
        print('this is class set function')
        
    def get_func(self):
        print('this is class get function')
        
    def get_data(self):
        return self.a_

p = parent(20)
p.set_func()
p.get_func()
print(p.get_data())

2、掌握常用的第三方库

不管什么语言,只靠语言本身,能做的事情还是很少的。这个时候就需要第三方库的帮忙。有的第三方库,是语言本身自带,或者说移植好的。还有的第三方库需要从其他的地址下载使用。这里说的第三方,其实是语言自身环境自带的,直接使用即可。

复制代码
'''
 demo2 code

usage:
 C:\Python27\python.exe exer2.py
'''

## about random lib

import random
a = random.randint(0,10)
print(a)

## about time lib

import time
print(time.time())

print('before wait 1s')
time.sleep(1)
print('after wait 1s')


## about datetime lib

from datetime import datetime
print(datetime.now())

3、矩阵库numpy

要学习深度学习,那么矩阵库numpy肯定是少不了的。这个库不是python语言自带的,需要自己用pip下载。或者到对应的网站,下载whl文件也是可以的。下载、安装完毕之后,就可以直接使用了,

复制代码
'''
 demo3 code

usage:
 C:\Python27\python.exe exer3.py
'''

import numpy as np

x = np.array([1.0, 2.0, 3.0])
y = np.array([4.0, 5.0, 6.0])

print('add result is as follows')
print(x+y)

print('')
print('sub result is as follows')
print(x-y)

print('')
print('multiply result is as follows')
print(x*y)

print('')
print('divide result is as follows')
print(x/y)

4、数据分析库matplotlib

在学习深度学习的时候,很多情况下,我们需要对各种数据进行比较。还需要用图形化的方法,把这些结果显示出来,这个时候就可以用matplotlib来帮助我们做到这一点。当然自己用c++,或者是其他语言,也可以做到这一点,只不过用python比较方便一点而已。

复制代码
'''
 demo4 code

usage:
 C:\Python27\python.exe exer4.py
'''

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 7, 0.1)
y = np.sin(x)
##y = np.cos(x)
##y = np.tan(x)
plt.plot(x, y)
plt.show()

5、图像处理

后期的时候,我们需要对图像进行处理,正好matplotlib也支持,这里一并学习下,

复制代码
'''
 demo5 code

usage:
 C:\Python27\python.exe exer5.py
'''

import matplotlib.pyplot as plt
from matplotlib.image import imread

img = imread('./lena.png')
plt.imshow(img)
plt.show()

至此,所有的编程语言和第三方库就准备好了,下面就可以开始相关内容的学习了。

相关推荐
不正经学生17 分钟前
C语言预处理详解:编译器真正动手之前的那些事
c语言·开发语言·算法·面试·bug
门思科技27 分钟前
LoRaWAN 设备类别:Class A、B、C 对比与选型指南
c语言·开发语言·php
M78佐菲3 小时前
Linux学习笔记:TCP协议
linux·笔记·学习·tcp/ip·算法
恋恋西风3 小时前
C++ 理解 std::thread 在单核和多核上的行为差异
开发语言·c++
Brilliantwxx3 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
BizzZ_4 小时前
C++(22)——类型转换和IO流
开发语言·c++
yi.Ist4 小时前
数据定义语言-DDL操作
数据库·学习·mysql·oracle·大海豚
小范同学_4 小时前
JDK1.7 与 JDK1.8 HashMap 底层原理对比 + 数组并发扩容死循环详解
java·开发语言
geovindu4 小时前
CSharp: 万年历
开发语言·后端·c#·.net
傲笑风4 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino