自己动手写深度学习框架(快速学习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()

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

相关推荐
ctgu906 小时前
PyQt5(八):ui设置为可以手动随意拉伸功能
开发语言·qt·ui
一月是个猫6 小时前
MCP协议之天气演练
python·mcp
CVer儿6 小时前
libtorch ITK 部署 nnUNetV2 模型
开发语言
李辉20036 小时前
Python逻辑运算符
java·网络·python
asyxchenchong8886 小时前
OpenLCA、GREET、R语言的生命周期评价方法、模型构建
开发语言·r语言
lzptouch6 小时前
Django项目
后端·python·django
执笔论英雄6 小时前
【大模型训练】zero 学习及deepseed实战
人工智能·深度学习·学习
没有梦想的咸鱼185-1037-16636 小时前
【生命周期评价(LCA)】基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建
开发语言·数据分析·r语言
程序猿20237 小时前
Python每日一练---第三天:删除有序数组中的重复项
开发语言·python