image classification of rock paper scissor hands

In this post we are going to setup a simple CNN to be able to classify images of hands playing rock, paper, scissor game. This data-set will be loaded from tensorflow_datasets module

Use pip install tensorflow-datasets if you don’t have this module installed already.


The data-set contains images of people playing the rock, paper scissor games as shown in the picture below.It consist of 2,892 images having only train and test splits. Each image has a shape of [300, 300, 3] with 3 output classes(i.e rock, scissor, paper


To load the data-set the first thing we will need to do is import the necessary libraries. We will then use the tfds.load() to load (downloads and then load on the first time)our data-set while setting with _info and as_supervised to True.

#import the necessary libraries
	from tensorflow import keras
	import tensorflow as tf
	import os,datetime
	import tensorflow_datasets as tfds

	#Loading the datase
	df, info = tfds.load('rock_paper_scissors', with_info = True, as_supervised = True)
view raw
ROCK,PAPER,SCISSOR hosted with ❤ by GitHub

Let’s try to go over some parts of the code that might not be clear

  • While using the tfds.load() on line 8, setting with_info = True returns information about our data-set which is then stored in the variable we declared (i.e info).
  • as_supervised = True loads our data-set as a(image, label) tuple structure.


Remember we have just train and test split we need to get our validation split. We will use 10% of the train data as our validation split.

#10 % of the train data as validation data
	num_validation = 0.1 * info.splits['train'].num_examples

	#Turning it to an integer as a float may cause problem along the way
	num_validation = tf.cast(num_validation, tf.int64)
view raw
ROCK,PAPER,SCISSOR hosted with ❤ by GitHub

Before feeding our data into the CNN it will have to go through some form of preprocessing.

Each pixels of the image in our data-set ranges from 0 to 255 which we will scale to between 0 and 1 with the help of a small function

#deep-learning #ai #machine-learning #deep learning

What is GEEK

Buddha Community


Implementing a Rock-Paper-Scissors Game Using Event Sourcing

In this tutorial, we will look at how we can design the game flow for a rock-paper-scissors game using Serialized APIs for Event Sourcing and CQRS.

Our favorite runtime environment for applications is usually Dropwizard but since many out there prefer Spring Boot I decided to use it instead for this article. Serialized Java client works with any runtime environment or platform you use on the JVM.

Configure the Serialized project

To develop our game we will use Serialized aggregates and projections. The aggregates will store the events for each game and the projections will provide a view of each game as well as a high score list of the top winners (in the case of multiple games being run).

If you have not yet signed up to Serialized you will need to sign up for a free developer account. Once you’ve signed up and created your first project you will have an empty view of Aggregates, like this:

Empty View of Aggregates

We now need to find out API keys that are available under Settings.

Finding API Keys

Copy the access key and secret access key to a safe location. We will need these to access Serialized APIs from our backend application.

Great job! We now have an empty Serialized project. We’re now ready to start developing our game!

#java #spring boot #event sourcing #cqrs #implementing a rock-paper-scissors game using event sourcing #rock-paper-scissors game

Karim Aya

Karim Aya


Rock, Paper, Scissors With Python

In this article, we will discuss Python Operators and Conditions, their syntax and different ways to use them in order to create a game of Rock, Paper, Scissors. 

Python Operators

Operators are symbols or statements that manipulate the value of operands.

Consider the following example: 10 * 3 = 5.

The integers "10 " and "3 " are operands (which are also referred to as variables), while "*" is the operator that performs the action of multiplication. It’s important to understand that the use of these operators are not solely limited to operations like addition or multiplication. Some operators can be used for comparisons or to confirm whether a statement is true or false.

For example, in the previous paragraph, I wrote, “The integers ‘10 ’ and ‘3’ are operands…”. In this example, the word "and" just became the operator, since it compared the two integers. We will be making use of the Logical Operators in one of our games.

The Python language supports the following Operators:

  • Arithmetic Operators
  • Comparison Operators
  • Logical Operators
  • Identity Operators
  • Membership Operators
  • Bitwise Operators

For examples and in-depth details on these operators, Programiz is an excellent resource that I recommend checking out.

Python Conditional Statements

 Conditional Statements, also referred to as If…else statements are used to control the flow of an operation. In order to accomplish this, we make use of the boolean values true and false — if a statement is true, then do this, otherwise, do this.

To illustrate this let’s start with our basic game of rock paper scissors.

We’ll begin by defining a function, "basicRPS" that will take two arguments, Player One's hand (p1) and Player Twos hand (p2). Once we’ve got the basics down, we’ll add a little logic to our game so that we can play against the computer.

def basicRPS(p1,p2):

Our first step is to identify and comment the rules of our game.


From our description, we know that there are three options that both users can choose from: Rock, Paper or Scissors. Depending on each player's choice, we will receive a winner. Now, if both users play the same hand, then the result is a draw. Since a draw cancels out the operation, let's use this as our first condition.

if p1.title() == p2.title():
    return 'Draw!'

Assignment and Comparison Operators

You’re probably thinking, "Wait a minute. Why are there two ‘=’ signs?" Well, I’m glad you asked. In Python "=" is considered an Assignment Operator, while "==" is considered a Comparison Operator.

Assignment Operators are used to assign and reassign the value of a given variable. For example:

a = 5
a = 2

We started off by assigning the value of "5" to the variable "a" and then assigned the value of "2" to the same variable.

Comparison Operators tell us if a statement is true or false. Consider the following:

a = 5
b = 5
c = 3
a == b
a == c

In this example, we assigned the value "5" to both "a" and "b." Then, we asked, "is ‘a’ equal to ‘b’?" To which the program returned true. Before moving on, let’s look at one more example.

a = 5
b = '5'
a == b

You’re probably thinking, “If 'a' and 'b' are both '5,' why did Python return false?” Well, it’s simple really. When we assign a value, we also assign the type of value. Take a look.


When the comparison operator asks if "a" is equal to "b", it’s really asking if "a" is really the same type and value as "b"? By surrounding the "5" with quotation marks, I assigned the type of value to string resulting in false.

With that said, let's get back to our game.

if p1.title() == p2.title():
    return 'Draw!'

We asked, "is Player1’s hand Equaled to Player2’s hand?" We add the "title()" method to account for caps. If the result is true, we return "Draw". If the result is false, the program continues to run. Now, we need to decide what happens if both players make unique calls. We’ll accomplish this using the "elif" statement.

# If the player chooses rock
elif p1.title() == 'Rock' and p2.title() == 'Paper':
    return 'Player 2 won!'
elif p1.title() == 'Rock' and p2.title() == 'Scissors':
    return 'Player 1 won!


By adding our logic we decide, “If player1 chooses rock ‘and’ player2 chooses paper, then player2 wins.” By using the “elif” statement, we tell Python, “if the last statement returned false then run this.” In Python, the “and” operator is called a Logical Operator. In order for the program to return true, both statements must be true. If either one is false, then the program will return false. From this point, we’ll go ahead and, using the same logic, decide what happens in the event the user chooses paper and scissors.

#If the user chooses paper

elif p1.title() == ‘Paper’ and p2.title() == ‘Rock’:

return 'Player 1 won!

elif p1.title() == ‘Paper’ and p2.title() == ‘Scissors’:

return ‘Player 2 won!’


If the user chooses scissors

elif p1.title() == ‘Scissors’ and p2.title() == ‘Paper’:

return ‘Player 1 won!’

elif p1.title() == ‘Scissors’ and p2.title() == ‘Rock’:

return ‘Player 2 won!’

There you have it! A basic game of Rock, Paper, Scissors. At this point, we have a pretty good understanding of the logic involved. Let’s take it a step further and adjust our code so that we can play against the computer.

Python Rock, Paper, Scissors

In order for us to play against the computer and have a fair game, we’ll need to import choice from the random module.

The choice model allows us to import a random element from a given list. In our case the list will be one of our three options. Before we implement our logic lets define our function and assign our variables.

from random import choice


def playRPS():

beats = {‘rock’ : ‘scissors’, ‘scissors’ : ‘paper’,‘paper’: ‘rock’}

computerHand = beats[choice([‘rock’,‘paper’,‘scissors’])]

playerHand = input('Choose Rock, Paper, Scissors: ’


First, we created a dictionary called beats with a key-value pair of outcomes (Key beats Value). Using the same dictionary, we call the choice method on a list of hands that are equal to the keys in the “beats” dictionary. Our last variable, “playerHand” assigns the user input as its value.

As a result of this basic setup, we can implement our logic.

 if beats[playerHand] == computerHand:

print(f’Computer played {computerHand}‘)

return ‘Player Wins!’

This may or may not take you a few passes to make sense of. Let’s quickly work our way through this one just in case.

Let’s say that the player inputs “rock.”

The value for the key “rock” is scissors

If the computer randomly chooses “scissors,” then “Player” wins because rock beats scissors. Easy enough right? Now, we just need to add the “elif” statement in the event that the computer wins.

elif beats[computerHand] == playerHand:

print(f’Computer played {computerHand}’)

return ‘Sorry, Computer Won…’

Just like before, if the value for the key (computer’s hand) is the same as the player’s hand, then the computer wins. Now, our last step is to account for a draw.

return ‘Draw!’

This step is basically to say that if none of the other two statements are true then return “draw.” And there you have it! You just programmed an interactive game of Rock, Paper, Scissors.


To recap, we learned that there are many types of Python Operators and Conditional Statements. We also learned that conditional statements can be used to control the flow of an operation. As a tool, conditional statements are priceless and should be in every programmer’s toolkit. We made a basic game of Rock, Paper, Scissors and even stepped it up a notch so that we could play against the computer.

If you enjoyed this article and want to see other projects just like it in the future, please leave a comment below. Until next time!



james right

james right


ICO White Paper Writing Services, Crypto White Paper Development

An initial coin offering (ICO) is a vehicle that can materialize the vision of any business. It reaches every prospective investor out there. However, this instrument has to be made that effective and it is possible only through a white paper. With this document, your business gets the power to get established with flying colors. If you have reliable white paper writing services, you can get things done very easily. It is very easy for you to come out with a perfect pitch and allure the target audience to make a move that gives you benefits.

ICO White Paper

How can I get a befitting white paper for my business project?

To do that, you need to work with writers who are familiar with the working of your domain. Also, they need to have great writing skills and content creation skills so your proposal could get all the attention it requires. When you introduce your idea with this document, everything gets very easy and there is absolutely no need to find add-ons. It works as a panacea for every single entrepreneur and gives them the ability to do something great. Once you have a perfect whitepaper, you don’t need extreme marketing moves as well.

That’s correct, a perfect whitepaper can give you all the eyeballs that you need, it helps you build strong traction among the investors. The criteria, however, is to stick with the basics of your industry and focus on giving value to the readers. When you do that, it is easier for you to delve deeper into many areas and to amaze everyone. The facts written in this doc have to be very precise and you have to sure about absolutely everything. As soon as you have a particular way to go, you don’t have to waste time on one topic.

You can switch from one niche to another and involve examples that could explain a whole concept very clearly. When you are ready with such a perfect whitepaper, you get to make things fluid for the traders. No matter how you want to execute your business, you get a more effective structure that helps in optimizing the entire mechanism. It is quite possible that you belong to a domain that is very flexible and ductile. Even with these conditions, you need to have precise about the changes you want to bring. This approach keeps you ahead in various ways and it gives you time to strategize too.

What is the right way to approach ICO whitepaper development?

When it comes to drafting a document that explains your startup in an impeccable manner, you have to be very choosy. Whether you want to come up with a certain plan or not, you get to bring the changes in your plan. As soon as you are clear about the project, you must start thinking about the content. It is very important that you remain one step ahead on the different fronts so there is absolutely no need for a backup structure and you can begin the process.

At the time of finalizing the prospect of your enterprise, it is very important that things get more descriptive with time. Also, you get to think of some additional measures that could expedite the creation of such tactics. Whether you understand the significance of this tool or not, you cannot simply underestimate it entirely. The focal point of your company gets clearer to every single entity and you get to work on things with better control. Also, you get to protect the entire thing with a foolproof system that covers all the risks with absolutely no repercussions.

Once you have made up your mood about this solution and ready to hire a writer, you must come up with a reliable team. That is important because you have to share many ideas and insights about your operations with them. You have to ensure a good scope of sharing ideas so anyone could add value to your project. It is vital that you keep every single member stuck to their goals, this way, you get a more appropriate response from your audience. Besides that, you get a more protective layer of information that keeps all the data secure sans any loopholes.

What should I keep in mind while choosing ICO whitepaper writers?

For choosing the most efficient writer for your project, you need to have a more planned approach. Also, you have to come up with something that could help in the ceaseless growth of your company. The pain points of your customers have to be understood, so you don’t mistake in any phase of making the whitepaper. Whether you like it nor not, you can always give a more reasonable answer to the questions asked on the forums. The open-source framework gives you better fixes and it also keeps you ahead in terms of your objectives.

Just by selecting the right people, it is possible for you to manage the expansive work at every stage. The creation of such aspects gives you insights about everything, it also helps you in giving a proper shape to the proximal attitudes. By optimizing every attribute, you get to make all the factors sublime and the readers get impressed by your efforts. It does not matter how you minimize the cost and increase the effect, you get prolific results. It makes you a better planner so you could pave the way to permanent success.

The selection of writers has to start with the thorough checking of profiles and every time you do it, you extend the chances of success. Regardless of the size and nature of your startup, you get to check a large number of solutions in a very minimum duration. Through this elaborate document, it is possible for you to induct pioneering solutions that protect your enterprise against any risk or volatility. The whole point of appointing writers is to ensure that you present your proposal in an unmatched matter. By doing it strategically, you make certain that there are no flaws.


With Coin Developer India, it is possible for any enterprise to come up with revolutionary ideas every time it is going to do something important. Our experts make certain that you can do something really exceptional to obtain the attention of the investors. When it comes to making an ICO successful, our entire team collaborates to give you the best results. Our writers come from all walks of life and they realize the power of content. We help your startup get nothing but the best so it could be on the frontline of its niche.

The solutions given by us are very direct in nature, they always strike the chord with people you want to affect. At the time of making this document, we give a proper treatment that makes your enterprise a strong contender on every front. No matter what you want to achieve, we make it possible through a broad spectrum of services. We make whitepaper so powerful that investors cannot overlook and your idea gets materialized in the best possible way. Our writers give your business what it truly deserves, we perpetuate your business’ position.
Want your business to be successful? Make it possible with us!

Get matchless ICO whitepaper writing services and make your project an absolute success. The expert writers of Coin Developer India make this possible easily.

Contact Details:

Call and Whatsapp : +91-7014607737
Telegram : @vipinshar

#cryptocurrency white paper writing #white paper writing #cryptocurrency white paper #ico white paper #white paper development #hire white paper writer

IBT India


Punjab Patwari Previous Year Question Paper PDF Download

Check out IBT India for the Previous Patwari Question Paper PDF with answers for free and Patwari Guess paper 2021 PDF is also available here. Solving these past papers will be very helpful to revise the complete Patwari syllabus. Kick start your preparation for the upcoming Punjab Patwari Exam 2021 here. If you have any questions, please contact us directly at 9696960029 or

#patwari previous paper #patwari previous year paper punjab #patwari question paper #previous paper of patwari

IBT India


Punjab Patwari Previous Year Question Paper PDF Download

#previous paper of patwari #patwari previous year paper punjab #patwari question paper #patwari previous paper