程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Notes sur les fonctions Python rencontrées dans DSX RL

編輯:Python

1.zip()Fonctions
zip() La fonction est utilisée pour prendre un objet itérable comme paramètre,Emballer les éléments correspondants de l'objet en tuples,Puis renvoie l'objet composé de ces tuples,L'avantage est d'économiser beaucoup de mémoire.

On peut utiliser list() Convertir en liste de sortie.

Si le nombre d'éléments dans chaque Itérateur est incohérent,La longueur de la liste de retour est la même que celle de l'objet le plus court,Utilisation * Opérateur No.zipFonctions,Vous pouvez décompresser un Tuple dans une liste.

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b) # Renvoie un objet
>>> zipped
<zip object at 0x103abc288>
>>> list(zipped) # list() Convertir en liste
[(1, 4), (2, 5), (3, 6)]
>>> list(zip(a,c)) # Le nombre d'éléments correspond à la liste la plus courte
[(1, 4), (2, 5), (3, 6)]
>>> a1, a2 = zip(*zip(a,b)) # Avec zip Au contraire.,zip(*) Peut être compris comme décompression,Renvoie la matrice bidimensionnelle
>>> list(a1)
[1, 2, 3]
>>> list(a2)
[4, 5, 6]
>>>

https://www.runoob.com/python3/python3-func-zip.html

2.np.random.random()Fonctions
Renvoie un 0-1Nombre aléatoire de
Lorsque les paramètres entrants sont retournés shapeParamètre0-1 Un tableau de nombres aléatoires de

3.numpy.random.randint()Fonctions

numpy.random.randint(low, high=None, size=None, dtype='l')

La fonction est,Renvoie un entier aléatoire,La gamme va du bas(Y compris:)Vers le Haut(Non compris),C'est - à - dire:[low, high).
Si aucun paramètre n'est écrithighValeur de,Renvoie[0,low)Valeur de.

>>> np.random.randint(2, size=10)
array([1, 0, 0, 0, 1, 1, 0, 0, 1, 0])
>>> np.random.randint(1, size=10)
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
>>> np.random.randint(5, size=(2, 4))
array([[4, 0, 2, 1],
[3, 2, 2, 0]])
>>>np.random.randint(2, high=10, size=(2,3))
array([[6, 8, 7],
[2, 5, 2]])

https://blog.csdn.net/u011851421/article/details/83544853
4.gatherFonctions

gather La fonction peut être interprétée comme étant basée sur index Paramètres(C'est l'index) Renvoie la valeur de la position correspondante dans le tableau
Ici.b.gather()Rédaction ettorch.gather(b) Tout peut être écrit , L'accent est mis sur deux paramètres ,dimEtindex

Une façon de comprendre les dimensions inférieures
dim=0 Indique un index par ligne ,C'est - à - direindex La valeur de représente la ligne
dim=1 Indique un index par colonne ,Ça veut direindex La valeur de représente la colonne
5.torch.distributions.Categorical

probs = torch.FloatTensor([0.9,0.2])
ac = torch.distributions.Categorical(probs)
print(ac)
for _ in range(5):
print(ac.sample())

Sa fonction est de créer un paramètre probsPour la répartition standard des catégories,L'échantillon provient de“0,…,K-1”Un entier de,K- Oui.probsLongueur du paramètre.C'est - à - dire,SelonprobsLa probabilité de, Échantillonnage à l'endroit approprié , L'échantillon renvoie l'index entier de cet emplacement .

Regardez encore. rl Sélectionner l'action par le réseau de politique :

 def take_action(self, state): # Échantillonnage aléatoire basé sur la distribution des probabilités d'action 
state = torch.tensor([state], dtype=torch.float).to(self.device) # 1*4
probs = self.policy_net(state) # 1*2
action_dist = torch.distributions.Categorical(probs)
action = action_dist.sample()
return action.item()


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved